The Raspberry Pi Pico (RP2040) exposes 40 physical pins, but only 26 are general-purpose I/O (GP0–GP28). The direct answer for standard power wiring: feed 5V into VBUS (Pin 40) or 2V–5V into VSYS (Pin 39), and always tie your ground to GND (Pins 3, 8, 13, 18, 23, 28, 33, 38). Never backfeed 5V into VSYS while USB is connected.
The Complete Pico Raspberry Pi Pinout Table
Below is the definitive hardware reference for the standard 40-pin DIP layout. Use this table to map physical pin numbers to RP2040 internal functions. Physical Pin 1 is located in the top-left corner when the board is oriented with the USB connector facing up.
| Pin | Name | Type | Function & Bench Notes |
|---|---|---|---|
| 1 | GP0 | GPIO | UART0 TX, SPI0 RX, I2C0 SDA, PWM0 A |
| 2 | GP1 | GPIO | UART0 RX, SPI0 CSn, I2C0 SCL, PWM0 B |
| 3 | GND | Power | Ground reference |
| 4 | GP2 | GPIO | SPI0 SCK, I2C1 SDA, PWM1 A |
| 5 | GP3 | GPIO | SPI0 TX, I2C1 SCL, PWM1 B |
| 6 | GP4 | GPIO | SPI0 RX, I2C0 SDA, PWM2 A |
| 7 | GP5 | GPIO | SPI0 CSn, I2C0 SCL, PWM2 B |
| 8 | GND | Power | Ground reference |
| 9 | GP6 | GPIO | SPI0 SCK, I2C1 SDA, PWM3 A |
| 10 | GP7 | GPIO | SPI0 TX, I2C1 SCL, PWM3 B |
| 11-13 | GP8-GND-GP9 | GPIO/Pwr | I2C0/PWM4 mapping, GND, I2C0/PWM4 mapping |
| 14-16 | GP10-GND-GP11 | GPIO/Pwr | SPI1/I2C1/PWM5 mapping, GND, SPI1/I2C1/PWM5 |
| 17-20 | GP12 to GP15 | GPIO | Standard SPI1 and PWM6/7 mappings (No GND between 17-20) |
| 21-23 | GP16-GND-GP17 | GPIO/Pwr | SPI0 RX, GND, SPI0 CSn |
| 24-25 | GP18-GP19 | GPIO | SPI0 SCK, SPI0 TX |
| 26-28 | GND-GP20-GP21 | Pwr/GPIO | Ground, I2C0/SPI0 mappings |
| 29-30 | GP22-GND | GPIO/Pwr | I2C1 SCL, Ground |
| 31-32 | GP26-GP27 | ADC/GPIO | ADC0, ADC1 (Also standard GPIO/I2C/SPI) |
| 33 | GND | Power | AGND (Analog Ground - keep digital noise away) |
| 34 | GP28 | ADC/GPIO | ADC2 (Also standard GPIO/I2C/SPI) |
| 35 | ADC_VREF | Analog | ADC Voltage Reference (Tied to 3V3_OUT on standard Pico) |
| 36 | 3V3_OUT | Power | 3.3V Regulated Output (Max 300mA draw) |
| 37 | 3V3_EN | Power | Enable for onboard SMPS (Pull low to disable 3.3V rail) |
| 38 | GND | Power | Ground reference |
| 39 | VSYS | Power | Main System Input (2V to 5V range) |
| 40 | VBUS | Power | USB 5V Input (Raw from USB connector) |
Board Variants & DC Wire Color Standards
When wiring the Pico, you must account for both hardware variants and the DC wire color standards applicable to your region or industry.
Hardware Variants: Pico vs. Pico W vs. Pico H
- Standard Pico: Uses GP25 for the onboard green LED.
- Pico W: Adds the Infineon CYW43439 WiFi/BT chip. Critical difference: GP25 is routed to the WiFi chip, not the LED. The LED is controlled via the WL_GPIO0 pin on the Infineon chip. GP23 and GP24 are also consumed internally by the wireless subsystem.
- Pico H: Identical silicon to the standard Pico, but comes with pre-soldered 0.1-inch headers and a 3-pin JST-SH debug connector.
DC Wire Color Standards (IEC vs. US Hobbyist)
While the Pico silkscreen uses standard text labels, the jumper wires you select should follow a recognized standard to prevent catastrophic reverse-polarity faults.
| Standard | Positive (V+ / VSYS) | Negative (GND) | Signal / Logic | When to Apply |
|---|---|---|---|---|
| IEC 60446 (EU/Industrial) | Brown | Blue | Black / Grey | Industrial enclosures, EU commercial deployments, DIN-rail mounts. |
| US NEC / Hobbyist | Red | Black | Yellow / Orange / Green | Breadboards, US consumer DIY, Arduino-style shields, educational kits. |
Concrete Pick: For 95% of bench prototyping and US-based hobbyist builds, strictly use Red for VSYS/VBUS, Black for GND, and reserve Yellow/Orange for I2C/SPI data lines. If building a permanent installation in the EU, source IEC-compliant Brown/Blue ferrule-crimped wires.
Pins and Rows People Get Wrong
The RP2040 is forgiving, but power routing and analog references will ruin your day if misinterpreted. Here are the most common pinout mistakes made at the workbench.
1. VBUS (Pin 40) vs. VSYS (Pin 39)
VBUS is the raw 5V from the USB connector. VSYS is the main system input, which feeds the onboard switching regulator. There is a Schottky diode between VBUS and VSYS to allow USB power to feed the system.
The Mistake: Backfeeding 5V into VSYS from an external bench supply while the USB cable is plugged in. This forward-biases the diode backward, pushing 5V directly into the USB host's 5V rail, potentially frying your PC's USB port.
The Fix: Always feed external power into VBUS if it's exactly 5V, or physically cut the VBUS trace on the back of the board if you are injecting battery power into VSYS.
2. The ADC_VREF Noise Floor (Pin 35)
Pins 31, 32, and 34 (GP26-GP28) double as ADC0-ADC2. Pin 35 is ADC_VREF. On the standard Pico, this pin is tied directly to the 3V3_OUT rail.
The Mistake: Expecting 12-bit ADC precision out of the box. The onboard switch-mode power supply (SMPS) injects switching noise directly into the 3V3 rail, which the ADC uses as its reference, resulting in a noisy floor and a known ~40mV offset.
The Fix: If your project requires precision analog reading (e.g., load cells or precision thermistors), cut the trace to Pin 35 and feed it from an external low-noise 3.0V shunt reference like the LM4040.
3. 3V3_OUT Current Limits (Pin 36)
The Mistake: Powering a string of WS2812B NeoPixels or a high-draw OLED directly from Pin 36. The onboard RT6150 regulator is rated for roughly 300mA continuous, but derates heavily in high ambient temperatures.
The Fix: If your load exceeds 150mA, power the peripherals directly from the VSYS/5V rail and use logic-level shifters for the data lines.
Decision Path: Which GPIO Should You Use?
Because the RP2040 allows multiplexing almost any peripheral to almost any pin via the PIO and GPIO mux, beginners often suffer from analysis paralysis. Use this decision tree to lock in your pin assignments.
| Peripheral Need | Condition / Constraint | Concrete Pick (Default) |
|---|---|---|
| I2C (Sensors/Displays) | Standard 400kHz bus, no DMA required | GP4 (SDA0) & GP5 (SCL0) |
| SPI (SD Cards/TFTs) | Need high throughput, standard pinout | GP16 (RX), GP17 (CSn), GP18 (SCK), GP19 (TX) |
| UART (GPS/Serial) | Debug console or external module | GP0 (TX) & GP1 (RX) |
| PWM (Motor/Servo) | Need multiple independent channels | GP2 to GP9 (Covers PWM1 to PWM4 A/B channels) |
| ADC (Analog Sensors) | Single-ended, 0-3.3V range | GP26 (ADC0) - Keep away from digital SPI lines |
| Onboard LED | Status indication | GP25 (Standard Pico) / WL_GPIO0 (Pico W) |
Safe Interpretation When Silkscreen is Faded
Clone boards, heavily used bench units, or boards exposed to flux and heat often lose their white silkscreen markings. If you cannot read the pin names, do not guess. Follow this multimeter verification sequence to safely identify the critical power rails before applying external voltage.
- Set your multimeter to Continuity Mode (Diode test).
- Locate Ground (GND): Place the black probe on the outer metal shell of the micro-USB connector. Probe the bottom row of pins with the red probe. The pins that beep (read < 1 ohm) are your GND pins (Pins 3, 8, 13, 18, 23, 28, 33, 38).
- Locate VBUS (Pin 40): With the board unpowered, place the red probe on the center pin of the USB connector's internal contacts (or the VBUS test pad on the back). Probe the top row. The pin that shows continuity is VBUS (Pin 40, top right).
- Locate VSYS (Pin 39): Set the meter to Diode Test. Place the red probe on VBUS (Pin 40) and the black probe on the adjacent pin (Pin 39). You should read a ~0.3V forward voltage drop across the Schottky diode. If you read 'OL' (open loop), you are on the wrong pin.
- Locate 3V3_OUT (Pin 36): Power the board via USB. Set the meter to DC Voltage. Black probe on a known GND. Probe the top row moving inward from VSYS. The pin reading a stable 3.25V - 3.35V is 3V3_OUT.
By anchoring your physical layout to the USB connector shell and the Schottky diode drop, you can reliably map any unmarked RP2040 development board without risking a short circuit. For comprehensive peripheral mapping and C/C++ SDK configurations, always refer back to the official Raspberry Pi Microcontroller Documentation.






