The Raspberry Pi Pico exposes 40 pins, including 26 multifunction GPIOs, 3 dedicated ground pins, and a complex power routing network. Unlike mains wiring governed by NEC or IEC regional codes, embedded pinouts are dictated strictly by the silicon datasheet. However, standardizing your jumper wire colors and understanding the physical layout is critical for debugging. Below is the complete reference, followed by the specific board variants and the exact decision path to choose the right module for your 2026 workbench.
The Master Pico Pinout Diagram & Wire Color Reference
This table maps the physical 40-pin layout (numbered 1-40, starting from the top-left near the USB connector) to its primary function, alternate functions, and the recommended hobbyist wire color code to maintain sanity on a crowded breadboard.
| Pin | Name | Primary / Type | Alt Functions | Standard Wire Color |
|---|---|---|---|---|
| 1 | GP0 | GPIO / UART0 TX | I2C0 SDA, SPI0 RX | Green (UART TX) |
| 2 | GP1 | GPIO / UART0 RX | I2C0 SCL, SPI0 CSn | Blue (UART RX) |
| 3 | GND | Ground | - | Black |
| 4 | GP2 | GPIO / I2C1 SDA | SPI0 SCK | Blue (I2C SDA) |
| 5 | GP3 | GPIO / I2C1 SCL | SPI0 TX | Yellow (I2C SCL) |
| 6 | GP4 | GPIO / SPI0 RX | I2C0 SDA, UART1 TX | Orange (SPI MISO) |
| 7 | GP5 | GPIO / SPI0 CSn | I2C0 SCL, UART1 RX | Purple (SPI CS) |
| 8 | GND | Ground | - | Black |
| 9 | GP6 | GPIO / SPI0 SCK | I2C1 SDA | Gray (SPI SCK) |
| 10 | GP7 | GPIO / SPI0 TX | I2C1 SCL | Green (SPI MOSI) |
| 11-15 | GP8-12 | GPIO / PWM / I2C | UART, SPI | Varies by protocol |
| 16-20 | GP13-17 | GPIO / PWM / UART | I2C, SPI | Varies by protocol |
| 23 | GND | Ground | - | Black |
| 24-29 | GP18-22 | GPIO / PWM / SPI | I2C, UART | Varies by protocol |
| 30 | RUN | Reset / Enable | Active Low Reset | White (Control) |
| 31 | GP26 | GPIO / ADC0 | I2C1 SDA, SPI1 SCK | Red (Analog) |
| 32 | GP27 | GPIO / ADC1 | I2C1 SCL, SPI1 TX | Red (Analog) |
| 33 | AGND | Analog Ground | - | Black (Striped) |
| 34 | GP28 | GPIO / ADC2 | SPI1 RX | Red (Analog) |
| 35 | ADC_VREF | ADC Reference | 3.3V Internal | Yellow (Reference) |
| 36 | 3V3 | 3.3V Output | Max 300mA draw | Red (Power) |
| 37 | 3V3_EN | Regulator Enable | High = On | White (Control) |
| 38 | GND | Ground | - | Black |
| 39 | VSYS | System Input | 1.8V to 5.5V | Red (Thick) |
| 40 | VBUS | USB 5V Output | USB Power Only | Red (Striped) |
Board Variants: RP2040 vs RP2350 (Pico 2) Standards
While the physical 40-pin footprint remains identical across the Pico family, the silicon 'standard' changed dramatically with the introduction of the Pico 2 (RP2350). If you are reading a legacy RP2040 datasheet, be aware that the RP2350 Pico 2 datasheet introduces critical hardware differences that affect how you interpret the pinout.
The original RP2040 Pico GPIOs are strictly 3.3V. Feeding 5V into GP0 will permanently destroy the silicon. The RP2350 (Pico 2) features 5V-tolerant GPIOs, meaning you can safely interface with 5V logic families (like older 74HC series or Arduino Unos) without level shifters, provided the pin is configured as an input or open-drain output.
| Feature | Pico / Pico H (RP2040) | Pico W / Pico 2 W | Pico 2 (RP2350) |
|---|---|---|---|
| Core Silicon | Dual Cortex-M0+ @ 133MHz | Dual Cortex-M0+ + CYW43439 | Dual Cortex-M33 / Hazard3 RISC-V |
| GPIO Voltage | 3.3V (Not 5V tolerant) | 3.3V (Not 5V tolerant) | 3.3V (5V tolerant on inputs) |
| Wireless Pin Conflict | None (No wireless) | GP23, GP24, GP25, GP29 used by WiFi/BLE | GP23, GP24, GP25, GP29 used by WiFi/BLE |
| ADC Channels | 4 channels (12-bit) | 3 usable (ADC3 routed to WiFi) | 4 channels (12-bit, improved linearity) |
The Rows People Get Wrong (And How to Fix Them)
When troubleshooting a dead circuit or erratic sensor readings, 90% of Pico issues trace back to misinterpreting three specific areas of the pinout.
1. VBUS (Pin 40) vs VSYS (Pin 39)
The Mistake: Backpowering the Pico through Pin 40 (VBUS) while also plugging in USB, or feeding 12V into VSYS.
The Reality: VBUS is strictly the raw 5V from the USB connector. VSYS is the main system input, which feeds the onboard RT6154 buck-boost converter. VSYS accepts 1.8V to 5.5V. If you feed power into VSYS, do not plug in USB unless you have a diode on the USB VBUS line, or you will backfeed your computer's USB port and potentially trip its overcurrent protection.
2. The 'Hidden' ADC4 and ADC5
The Mistake: Trying to read external analog sensors on GP29 and getting garbage data, or wondering where the internal temperature sensor is.
The Reality: The Pico has a 5-channel ADC, but only ADC0-ADC2 are broken out to GP26-GP28. ADC3 is internally routed to the VSYS/3 voltage divider (used to measure battery voltage). ADC4 is internally routed to the silicon die temperature sensor. If you are using a Pico W or Pico 2 W, the wireless chip steals GP29 (ADC3), further limiting your external analog pins.
3. I2C0 vs I2C1 Default Routing
The Mistake: Wiring an I2C OLED to GP4/GP5 and wondering why the MicroPython i2c.scan() returns an empty list.
The Reality: GP4/GP5 defaults to I2C1, not I2C0. If your code initializes I2C(0), you must use GP8 (SDA) and GP9 (SCL). Always verify the peripheral block number against the pinout table, not just the physical proximity of the pins.
Safe Interpretation When Silkscreen Markings Fade
Cheap third-party clones, or boards that have seen heavy rework and flux cleaning, often lose their white silkscreen pin labels. When you need to probe a live board and the markings are gone, use this physical orientation protocol:
- Locate the USB Connector: Orient the board so the micro-USB or USB-C port is pointing 'up' (away from you).
- Find Pin 1: Look at the left-hand row of pins. Pin 1 is the top-left pin. On genuine Raspberry Pi boards, the through-hole pad for Pin 1 is square, while all other pads are round. On clones, look for a tiny white dot or a chamfered edge on the PCB near the top-left corner.
- Count Down, Then Up: The left row counts sequentially down (1, 2, 3... 20). The right row counts sequentially up from the bottom (21, 22, 23... 40). Pin 40 (VBUS) is the top-right pin, directly across from Pin 1.
- Verify with a Meter: Set your multimeter to continuity mode. Probe your suspected GND pins (3, 8, 13, 23, 38) against the metal shell of the USB connector. They should read < 1 ohm. This confirms your orientation before applying power.
If the board is completely unmarked, look at the main black RP2040 or RP2350 IC. There is a small indented dot in one corner of the chip. This dot always points toward the top-left of the board (near Pin 1 and the USB connector).
Decision Path: Which Pico Board Should You Buy?
Stop guessing which variant to add to your cart. Follow this decision tree to land on the exact part number for your project.
| Project Requirement | If True... | Concrete Pick (Part Number) |
|---|---|---|
| Need WiFi/BLE (IoT, MQTT, Web Server)? | Yes → Go to next row. No → Skip to Row 3. |
- |
| Need to interface with 5V logic sensors without level shifters? | Yes → You need RP2350 silicon. No → RP2040 is fine. |
Yes: Pico 2 W (SC700040) No: Pico W (SC700010) |
| Need high computational throughput (DSP, complex motor control, dual-core RISC-V)? | Yes → You need RP2350. No → RP2040 is sufficient. |
Yes: Pico 2 (SC700030) No: Go to next row. |
| Need pre-soldered headers for immediate breadboarding? | Yes → Buy the 'H' variant. No → Buy the standard bare-board. |
Yes: Pico H (SC700020) or Pico 2 H No: Pico (SC700000) or Pico 2 |
The Default Recommendation: If you are starting a new general-purpose embedded project in 2026 and do not strictly require wireless, buy the Raspberry Pi Pico 2 H (SC700041). The 5V-tolerant GPIOs eliminate the most common beginner hardware destruction vector, the pre-soldered headers save you 15 minutes of flux work, and the upgraded Cortex-M33 cores provide headroom for MicroPython garbage collection pauses. For a comprehensive overview of the entire microcontroller lineup, refer to the official Raspberry Pi Pico documentation hub.






