Raspberry Pi boards are typically designed to make it easy to connect USB devices like mice and keyboards. In that case, the Raspberry Pi itself is known as a USB host. The rectangular USB-A connector usually designates the host side of a cable.

However, CircuitPython is usually acts as a device itself. That's how it presents a CIRCUITPY drive and/or acts as a keyboard. This is normally done with the small micro-B style plug.

Newer boards have USB-C which can indicate either USB device or host.

For CircuitPython on the Raspberry Pi, the USB device capable connector varies per board design. The board description on CircuitPython.org includes instructions. Below is info for official Raspberry Pi boards.

When the power USB is separate from the indicated USB, insert the power USB before connecting the data USB.

Pi Zero and Zero W

Connect to the micro-B connector marked USB.

Pi Zero 2 W

Connect to the micro-B connector marked USB.

Pi 4 Model B

The USB-C power connector is also device capable. Use a powered USB hub to both power the Pi and connect it to your computer.


The Raspberry Pi CM4 IO board has a dedicated micro-B connector for USB device.

This guide was first published on Jan 12, 2022. It was last updated on Mar 08, 2024.

This page (Connecting) was last updated on Mar 08, 2024.

Text editor powered by tinymce.