Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Pinout & Connector

This is the authoritative pin map for both PCB revisions. Refer to it whenever you wire up a peripheral.

Firmware Pin Map

The firmware always uses the same RP2350 GPIOs, regardless of which revision PCB they’re routed to.

FunctionRP2350 GPIOAvailable onNotes
UART TXGPIO 0v1.1+UART0 TX, buffered
UART RXGPIO 1v1.1+UART0 RX
I²C SDAGPIO 2v1.0+I²C1, async DMA
I²C SCLGPIO 3v1.0+
SPI RX (MISO)GPIO 4v1.0+SPI0, DMA full-duplex
SPI CSGPIO 5v1.1+Active-low chip-select
SPI SCKGPIO 6v1.0+
SPI TX (MOSI)GPIO 7v1.0+
GPIO 0GPIO 8v1.0+User pin, in/out/edge
GPIO 1GPIO 9v1.0+User pin, in/out/edge
GPIO 2GPIO 10v1.0+User pin, in/out/edge
GPIO 3GPIO 11v1.0+User pin, in/out/edge
PWM 0GPIO 12v1.0+Slice 6 channel A
PWM 1GPIO 13v1.0+Slice 6 channel B
PWM 2GPIO 14v1.0+Slice 7 channel A
PWM 3GPIO 15v1.0+Slice 7 channel B
1-WireGPIO 16v1.1+PIO0/SM0, open-drain
ADC 0GPIO 26v1.1+12-bit, 0–3.3 V nominal
ADC 1GPIO 27v1.1+12-bit
ADC 2GPIO 28v1.1+12-bit

The user-facing GPIO numbering in the CLI, library, FFI, and Python bindings (03) maps to RP2350 GPIO 8–11. Same goes for ADC channels (02 → GPIO 26–28) and PWM channels (03 → GPIO 12–15).

v1.0 Pin Headers

v1.0 uses seven separate 0.1″ pin headers, one per logical bus. Refer to the silkscreen on the board for the exact layout. Signals not brought out on v1.0: UART TX/RX, SPI CS, 1-Wire, ADC 0–2.

v1.1 Box Header

v1.1 consolidates everything onto a single keyed 2×12 (0.1″ pitch) shrouded box header. Viewed from above with the USB connector pointing up, pin 1 is at the top-right. The shroud key notch faces right. Even-numbered pins (bottom row) are on the left; odd-numbered pins (top row) are on the right.

 Pin 2  GND          ┃ VREF (+3V3) Pin 1
 Pin 4  I2C_SCL      ┃ I2C_SDA     Pin 3
 Pin 6  SPI_MOSI     ┃ SPI_MISO    Pin 5
 Pin 8  SPI_CS       ┃ SPI_SCK     Pin 7
 Pin 10 UART_RX      ┃ UART_TX     Pin 9
 Pin 12 GPIO1        ┃ GPIO0       Pin 11
 Pin 14 GPIO3        ┃ GPIO2       Pin 13
 Pin 16 PWM1         ┃ PWM0        Pin 15
 Pin 18 PWM3         ┃ PWM2        Pin 17
 Pin 20 ADC0         ┃ ONEWIRE     Pin 19
 Pin 22 ADC2         ┃ ADC1        Pin 21
 Pin 24 GND          ┃ +3V3        Pin 23

Full v1.1 Pinout Table

Header PinNetRP2350 GPIODirectionNotes
1VREFPower out3.3 V (hardwired on v1.1)
2GNDPowerGround
3SDAGPIO 2BidirI²C1 SDA, 4.7 kΩ pull-up
4SCLGPIO 3BidirI²C1 SCL, 4.7 kΩ pull-up
5SPI_MISOGPIO 4InputSPI0 RX
6SPI_MOSIGPIO 7OutputSPI0 TX
7SPI_SCKGPIO 6OutputSPI0 SCK
8SPI_CSGPIO 5OutputSPI0 CSn
9UART_TXGPIO 0OutputUART0 TX
10UART_RXGPIO 1InputUART0 RX
11GPIO0GPIO 8BidirUser GPIO 0
12GPIO1GPIO 9BidirUser GPIO 1
13GPIO2GPIO 10BidirUser GPIO 2
14GPIO3GPIO 11BidirUser GPIO 3
15PWM0GPIO 12OutputPWM slice 6A
16PWM1GPIO 13OutputPWM slice 6B
17PWM2GPIO 14OutputPWM slice 7A
18PWM3GPIO 15OutputPWM slice 7B
19ONEWIREGPIO 16BidirPIO0/SM0, open-drain
20ADC0GPIO 26InputVia 100 Ω series resistor
21ADC1GPIO 27InputVia 100 Ω series resistor
22ADC2GPIO 28InputVia 100 Ω series resistor
23+3V3Power outDirect 3.3 V
24GNDPowerGround

Note

Pin 1 (VREF) is hardwired to 3.3 V on v1.1. On the future v2 board it becomes a switchable rail (1.8 V / 3.3 V / 5 V). Adapter boards designed today against the v1.1 header will see 3.3 V; they’ll continue to plug into v2 with the same key orientation.

Electrical Notes

  • All digital I/O is 3.3 V CMOS. Do not drive 5 V signals directly into Pico de Gallo without a level translator.
  • The on-board I²C pull-ups (v1.1+) are sized for moderate bus capacitance. For long cables or many devices, add external pull-ups in parallel and treat the on-board value as a minimum.
  • The ADC inputs see a 100 Ω series resistor on v1.1+. Keep that in mind for source-impedance budgeting if you care about absolute accuracy.
  • 3.3 V and VREF on v1.1 share the Pico 2’s regulator. Don’t pull hundreds of milliamps from the header.