RP2040-Zero

The RP2040-Zero is a small development board manufactured by Waveshare and based on the RP2040 microcontroller, the same microcontroller that’s in the Raspberry Pi Pico. Identical clones from other manufacturers can also be found on eBay and Aliexpress.

Physical overview

The RP2040-Zero is about the size of a postage stamp and has components on both sides of the board. It can be purchased with or without presoldered header pins. If installed, these header pins line 3 sides of the board. One the side with no pins or is the round-sided metal USB C connector, which is on one of the shorter edges of the board and extends beyond the edge.

The board is a short rectangle. There are 23 pads for header pins in total, each has a through hole for installing the pin and a castellated via meaning there’s a semicircular notch in the edge of the circuit board that’s plated to make electrical contact. These are designed to allow the pico to be soldered flat onto another PCB in a surface mount configuration. They can also help you identify pin numbers if you don’t want to attach a full header to the board - each of these notches on the edge of the board is directly in line with a pin hole.

Orientation

For this description, we’ll orient the board so that the USB connector is on top and the USB port opening is pointing away from you. The narrow end having the USB port will be called the “far side”, and the narrow end opposite it will be the “near side”.

Pin assignments

The position column is not the official pin number, it counts the pin from the reference point of that pin’s particular side of the board starting at 1. This allows you to find that pin on the board by counting.

Left side (far end first)

Position Description
1 5V
2 GND
3 3V3
4 GP29, ADC3
5 GP28, ADC2
6 GP27, ADC1, I2C1 SCL
7 GP26, ADC0, I2C1 SDA
8 GP15, SPI1 TX, I2C1 SCL
9 GP14, SPI1 SCK, I2C1 SDA

Near side (left to right)

Position Description
1 GP13, SPI1 CSn I2C0
2 GP12, SPI1 RX, I2C0 SDA, UART0 TX
3 GP11, SPI1 TX, I2C1 SCL
4 GP10, SPI1 SCK, I2C1 SDA
5 GP9, SPI1 CSn, I2C0 SCL, UART1 RX

Right side (near end first)

Position Description
1 GP8, SPI1 RX, I2C0 SDA, UART1 TX
2 GP7, SPI0 TX, I2C1 SCL
3 GP6, SPI0 SCK, I2C1 SDA
4 GP5, SPI0 CSn, I2C0 SCL, UART1 RX
5 GP4, SPI0 RX, I2C0 SDA, UART1 TX
6 GP3, SPI0 TX, I2C1 SCL
7 GP2, SPI0 SCK, I2C1 SDA
8 GP1, SPI0 CSn, I2C0 SCL, UART0 RX
9 GP0, SPI0 RX, I2C0 SDA, UART0 TX

Component placement

One quarter of the way from the near side of the board are two tactile buttons, which click when you press them (you can press them freely with no effect when the board is unplugged). If the USB connector is facing away from you, these buttons are BOOT (on the left) and RESET (on the right). In between the two buttons is a small square RGB LED called a Neopixel.

The bottom side of the board holds non-interactive components. The RP2040 itself is the large flat square in the middle of that side of the board.