Opens in a new tab

Raspberry Pi Pico 2 Pinout

Raspberry Pi Pico 2 is the successor to the Pico with the RP2350 chip. At a similar price and with the same pin layout, it adds performance, twice the memory and one interesting twist: you can choose between Arm Cortex-M33 and RISC-V Hazard3 cores.

The board is pin-compatible with the original Pico – you can reuse existing wiring and most code unchanged.

Specifications

  • RP2350A: 2× Arm Cortex-M33 or 2× RISC-V Hazard3, 150 MHz
  • 520 kB SRAM, 4 MB flash
  • 26 GPIO with 3.3 V logic, 3 of them with a 12-bit ADC
  • 2× UART, 2× SPI, 2× I2C, 16 PWM channels, 12 PIO state machines
  • HSTX – fast video output (DVI) directly from the chip
  • security: Arm TrustZone, secure boot, OTP memory
  • micro USB, 21 × 51 mm, onboard LED on GP25

The version with Wi-Fi and Bluetooth is the Pico 2 W.

You can program it in MicroPython, CircuitPython, C/C++ (Pico SDK) or the Arduino IDE.

Pinout and pin table

Hover over a pin in the diagram or a table row; use the filter to highlight a bus. You can download the pinout as PNG or SVG.

Pin names:
Raspberry Pi Pico 2 – pinoutRaspberry Pi Pico 2 – pinoutchiptron.eu · CC BY 4.0Raspberry Pi is a trademark of Raspberry Pi Ltd.RP2350micro USBLEDBOOTSELPico 2▼ DEBUGSWCLKGNDSWDIOLED: GP25 1 GP0 UART0 TX I2C0 SDA SPI0 RX 2 GP1 UART0 RX I2C0 SCL SPI0 CSn 3 GND 4 GP2 I2C1 SDA SPI0 SCK 5 GP3 I2C1 SCL SPI0 TX 6 GP4 UART1 TX I2C0 SDA SPI0 RX 7 GP5 UART1 RX I2C0 SCL SPI0 CSn 8 GND 9 GP6 I2C1 SDA SPI0 SCK 10 GP7 I2C1 SCL SPI0 TX 11 GP8 UART1 TX I2C0 SDA SPI1 RX 12 GP9 UART1 RX I2C0 SCL SPI1 CSn 13 GND 14 GP10 I2C1 SDA SPI1 SCK 15 GP11 I2C1 SCL SPI1 TX 16 GP12 UART0 TX I2C0 SDA SPI1 RX 17 GP13 UART0 RX I2C0 SCL SPI1 CSn 18 GND 19 GP14 I2C1 SDA SPI1 SCK 20 GP15 I2C1 SCL SPI1 TX 40 VBUS → 5 V from USB (only when USB is connected) 39 VSYS ← Power input 1.8–5.5 V 38 GND 37 3V3_EN ← Connect to GND to turn off the 3.3 V supply 36 3V3(OUT) → 3.3 V output, max. load ~300 mA 35 ADC_VREF ↔ ADC reference (can also be external) 34 GP28 UART0 TX I2C0 SDA SPI1 RX ADC2 33 AGND Analog ground for the ADC (GP26–28) 32 GP27 I2C1 SCL SPI1 TX ADC1 31 GP26 I2C1 SDA SPI1 SCK ADC0 30 RUN ← Reset – connecting to GND restarts the chip 29 GP22 I2C1 SDA SPI0 SCK 28 GND 27 GP21 UART1 RX I2C0 SCL SPI0 CSn 26 GP20 UART1 TX I2C0 SDA SPI0 RX 25 GP19 I2C1 SCL SPI0 TX 24 GP18 I2C1 SDA SPI0 SCK 23 GND 22 GP17 UART0 RX I2C0 SCL SPI0 CSn 21 GP16 UART0 TX I2C0 SDA SPI0 RX GPIO UART I2C SPI ADC (analog) Power Ground (GND) Control / reset
Download:PNGSVG
Pin table – Raspberry Pi Pico 2
PinNameDirectionUARTI2CSPIPWMADCNote
1GP0input/outputUART0 TXI2C0 SDASPI0 RXPWM0 A
2GP1input/outputUART0 RXI2C0 SCLSPI0 CSnPWM0 B
3GND–
4GP2input/outputUART0 CTSI2C1 SDASPI0 SCKPWM1 A
5GP3input/outputUART0 RTSI2C1 SCLSPI0 TXPWM1 B
6GP4input/outputUART1 TXI2C0 SDASPI0 RXPWM2 A
7GP5input/outputUART1 RXI2C0 SCLSPI0 CSnPWM2 B
8GND–
9GP6input/outputUART1 CTSI2C1 SDASPI0 SCKPWM3 A
10GP7input/outputUART1 RTSI2C1 SCLSPI0 TXPWM3 B
11GP8input/outputUART1 TXI2C0 SDASPI1 RXPWM4 A
12GP9input/outputUART1 RXI2C0 SCLSPI1 CSnPWM4 B
13GND–
14GP10input/outputUART1 CTSI2C1 SDASPI1 SCKPWM5 A
15GP11input/outputUART1 RTSI2C1 SCLSPI1 TXPWM5 B
16GP12input/outputUART0 TXI2C0 SDASPI1 RXPWM6 A
17GP13input/outputUART0 RXI2C0 SCLSPI1 CSnPWM6 B
18GND–
19GP14input/outputUART0 CTSI2C1 SDASPI1 SCKPWM7 A
20GP15input/outputUART0 RTSI2C1 SCLSPI1 TXPWM7 B
21GP16input/outputUART0 TXI2C0 SDASPI0 RXPWM0 A
22GP17input/outputUART0 RXI2C0 SCLSPI0 CSnPWM0 B
23GND–
24GP18input/outputUART0 CTSI2C1 SDASPI0 SCKPWM1 A
25GP19input/outputUART0 RTSI2C1 SCLSPI0 TXPWM1 B
26GP20input/outputUART1 TXI2C0 SDASPI0 RXPWM2 A
27GP21input/outputUART1 RXI2C0 SCLSPI0 CSnPWM2 B
28GND–
29GP22input/outputUART1 CTSI2C1 SDASPI0 SCKPWM3 A
30RUNinputReset – connecting to GND restarts the chip
31GP26input/outputUART1 CTSI2C1 SDASPI1 SCKPWM5 AADC0
32GP27input/outputUART1 RTSI2C1 SCLSPI1 TXPWM5 BADC1
33AGND–Analog ground for the ADC (GP26–28)
34GP28input/outputUART0 TXI2C0 SDASPI1 RXPWM6 AADC2
35ADC_VREFinput/outputADC reference (can also be external)
363V3(OUT)output3.3 V output, max. load ~300 mA
373V3_ENinputConnect to GND to turn off the 3.3 V supply
38GND–
39VSYSinputPower input 1.8–5.5 V
40VBUSoutput5 V from USB (only when USB is connected)
SWDSWCLKinputDebugging (SWD) – clock
SWDGND–
SWDSWDIOinput/outputDebugging (SWD) – data

Pins used on the board

These chip pins are used by parts on the board and are not broken out:

PinFunction on the board
GP23Power converter mode control (SMPS PS)
GP24VBUS detection (is USB connected?)
GP25Onboard LED
GP29ADC3 – measures VSYS/3

What to watch out for

  • Unlike the RP2040, the GPIO tolerate 5 V – but only when the board is powered, and not on the analog pins GP26–28. The output is always 3.3 V.
  • RP2350 chips in revision A2 have erratum E9: the internal pull-down can “hold” an input at around 2 V. Use an external resistor (up to 8.2 kΩ) on inputs with a pull-down, or use a pull-up. Revision A4 is fixed.
  • ADC is only on GP26–28 (ADC0–2), ADC3 internally measures VSYS/3.
  • UART, I2C and SPI can be routed to several different pins – the table shows all options.
  • Don’t draw more than about 300 mA from the 3V3(OUT) pin.

Raspberry Pi Pico 2 projects on chiptron.eu/

Projects and guides on chiptron.eu/:

  • Picogame – a 2D game engine for CircuitPython, optimized for the RP2350 as well
  • 100 IoT projects – MicroPython projects for Raspberry Pi Pico, ESP32 and ESP8266

More pinouts

See all pinouts on the Pinouts page.

Related Articles