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
1GP0GPIOUART0 TX, SPI0 RX, I2C0 SDA, PWM0 A
2GP1GPIOUART0 RX, SPI0 CSn, I2C0 SCL, PWM0 B
3GNDPowerGround reference
4GP2GPIOSPI0 SCK, I2C1 SDA, PWM1 A
5GP3GPIOSPI0 TX, I2C1 SCL, PWM1 B
6GP4GPIOSPI0 RX, I2C0 SDA, PWM2 A
7GP5GPIOSPI0 CSn, I2C0 SCL, PWM2 B
8GNDPowerGround reference
9GP6GPIOSPI0 SCK, I2C1 SDA, PWM3 A
10GP7GPIOSPI0 TX, I2C1 SCL, PWM3 B
11-13GP8-GND-GP9GPIO/PwrI2C0/PWM4 mapping, GND, I2C0/PWM4 mapping
14-16GP10-GND-GP11GPIO/PwrSPI1/I2C1/PWM5 mapping, GND, SPI1/I2C1/PWM5
17-20GP12 to GP15GPIOStandard SPI1 and PWM6/7 mappings (No GND between 17-20)
21-23GP16-GND-GP17GPIO/PwrSPI0 RX, GND, SPI0 CSn
24-25GP18-GP19GPIOSPI0 SCK, SPI0 TX
26-28GND-GP20-GP21Pwr/GPIOGround, I2C0/SPI0 mappings
29-30GP22-GNDGPIO/PwrI2C1 SCL, Ground
31-32GP26-GP27ADC/GPIOADC0, ADC1 (Also standard GPIO/I2C/SPI)
33GNDPowerAGND (Analog Ground - keep digital noise away)
34GP28ADC/GPIOADC2 (Also standard GPIO/I2C/SPI)
35ADC_VREFAnalogADC Voltage Reference (Tied to 3V3_OUT on standard Pico)
363V3_OUTPower3.3V Regulated Output (Max 300mA draw)
373V3_ENPowerEnable for onboard SMPS (Pull low to disable 3.3V rail)
38GNDPowerGround reference
39VSYSPowerMain System Input (2V to 5V range)
40VBUSPowerUSB 5V Input (Raw from USB connector)
Bench Tip: The official Raspberry Pi Pico Datasheet details the exact alternate functions for every GPIO. Remember that RP2040 GPIOs are not fixed to one peripheral; you can route SPI0 to almost any consecutive pin pair via software.

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)
Warning: Never assign GP26, GP27, or GP28 to digital I/O if you plan to use the ADC elsewhere on the board simultaneously. Switching these pins between digital and analog modes requires resetting the pad control registers, which introduces transient glitches on the ADC bus.

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.

  1. Set your multimeter to Continuity Mode (Diode test).
  2. 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).
  3. 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).
  4. 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.
  5. 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.