Raspberry Pi Pico
Physical overview
The Pi Pico’s footprint is about the size of a USB flash drive. From the factory, there are no headers (pins) soldered to the board, and the bottom of the the board will like completely flat on your table. Some vendors sell the boards with the headers pre-soldered, meaning there will be two parallel rows of 20 pins sticking out perpendicular to the board. These are usually oriented so they stick out of the bottom of the board.
The top of the board always has a micro USB connector protruding slightly from the center of one of the shorter edges. This connector is metal and roughly square when felt from the top, and sticks out about 1mm from the edge. Without the pins, there will be a series of empty holes adjacent to each edge of the board, sitting on pads that extend to the edge of the board; you can feel the edges of these pads on the PCB with your fingernail.
Each of these pads also has 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. There are also 3 pin pads with castellated edges on the short end of the board that doesn’t have the USB connector.
Orientation
For this description, we’ll orient the board so that the bottom is flat on the table and the USB port’s opening is pointing away from you. The short end having the USB port will be called the “far side”, and the other short end (with the 3 castellated vias) 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 | Pin number | Description |
---|---|---|
1 | 1 | GP0, UART0 TX, I2C0 SDA, SPI0 RX |
2 | 2 | GP1, UART0 RX, I2C0 SCL, SPI0 CSn |
3 | 3 | Ground |
4 | 4 | GP2, I2C1 SDA, SPI0 SCK |
5 | 5 | GP3, I2C1 SCL, SPI0 TX |
6 | 6 | GP4, UART1 TX, I2C0 SDA, SPIO RX |
7 | 7 | GP5, UART1 RX, I2C0 SCL, SPI0 CSn |
8 | 8 | Ground |
9 | 9 | GP6, I2C1 SDA, SPI0 SCK |
10 | 10 | GP7, I2C1 SCL, SPI0 TX |
11 | 11 | GP8, UART1 TX, I2C0 SDA, SPI1 RX |
12 | 12 | GP9, UART1 RX, I2C0 SCL, SPI1 CSn |
13 | 13 | Ground |
14 | 14 | GP10, I2C1 SDA, SPI1 SCK |
15 | 15 | GP11, I2C1 SCL, SPI1 TX |
16 | 16 | GP12, UART0 TX, I2C0 SDA, SPI1 RX |
17 | 17 | GP13, UART0 RX, I2C0 SCL, SPI1 CSn |
18 | 18 | Ground |
19 | 19 | GP14, I2C1 SDA, SPI1 SCK |
20 | 20 | GP15, I2C1 SCL, SPI1 TX |
Right side (near end first)
Position | Pin number | Description |
---|---|---|
1 | 21 | GP16, UART0 TX, I2C0 SDA, SPI0 RX |
2 | 22 | GP17, UART0 RX, I2C0 SCL, SPI0 CSn |
3 | 23 | Ground |
4 | 24 | GP18, I2C1 SDA, SPI0 SCK |
5 | 25 | GP19, I2C1 SCL, SPI0 TX |
6 | 26 | GP20, I2C0 SDA |
7 | 27 | GP21, I2C0 SCL |
8 | 28 | Ground |
9 | 29 | GP22 |
10 | 30 | RUN (set to low to reset the chip) |
11 | 31 | GP26, I2C1 SDA, ADC0 |
12 | 32 | GP27, I2C1 SCL, ADC1 |
13 | 33 | Ground, AGND (ground reference for ADC pins) |
14 | 34 | GP28, ADC2 |
15 | 35 | ADC voltage reference |
16 | 36 | 3v3 OUT (3.3v output) |
17 | 37 | 3V3_EN |
18 | 38 | Ground |
19 | 39 | VSYS (External power supply input pin; 1.8v to 5.5v) |
20 | 40 | VBUS (5v input voltage from micro USB) |
Near side (left to right)
These 3 pins are for a debugging connection. The interface supports both UART and ARM Serial Wire Debug.
There may be a JST style connector soldered to these three pins.
Position | Description |
---|---|
Left | SWCLK |
Middle | GND |
Right | SWDIO |
Component placement
The boot select button is to the right of pin 5, near the USB connector.
The RP2040 is a small square surface mount chip (QFN), right in the center of the board.
There is a tiny green LED on the board, next to the near-right corner of the USB connector. It’s the size of a large grain of sand. This LED is connected to GP25 on the microcontroller.