The Raspberry Pi Pico (RP2040) features 40 physical pins: 26 multifunction GPIOs, 3 analog inputs, dedicated I2C/SPI/UART buses, and specific power management lines. All GPIOs operate at 3.3V logic and are not 5V tolerant. Below is the exact hardware reference you need at the bench.

The Complete Raspberry Pico Pinout Reference Table

Read this table from Pin 1 (top-left, marked with a square pad on the PCB) down the left side, then up the right side. The default peripheral mappings are listed, but the RP2040's PIO and flexible matrix allow remapping most functions.

PinGPIOPrimary FunctionDefault Bus MappingPractical Notes
1GP0Digital I/OUART0 TX, I2C0 SDA, SPI0 RXStandard 3.3V logic. Do not feed 5V.
2GP1Digital I/OUART0 RX, I2C0 SCL, SPI0 CSnPairs with GP0 for UART0.
3GNDGround-Common ground for all 3.3V logic.
4GP2Digital I/OI2C1 SDA, SPI0 SCKUse for secondary I2C bus.
5GP3Digital I/OI2C1 SCL, SPI0 TXPairs with GP2 for I2C1.
6GP4Digital I/OSPI0 RX, UART1 TXDefault SPI0 MISO.
7GP5Digital I/OSPI0 CSn, UART1 RXDefault SPI0 Chip Select.
8GNDGround--
9GP6Digital I/OSPI0 SCK, I2C1 SDADefault SPI0 Clock.
10GP7Digital I/OSPI0 TX, I2C1 SCLDefault SPI0 MOSI.
11-15GP8-12Digital I/OVarious UART/I2C/SPIStandard digital pins.
16GP13Digital I/OSPI1 RX, UART0 TXSecondary SPI bus MISO.
17-35GP14-28Digital / AnalogSee specific notes belowGP26-28 double as ADC0-2.
363V3Power Out-Regulated 3.3V output. Max 300mA draw.
373V3_ENEnable-Tie to GND to disable the onboard regulator.
38GNDGround--
39VSYSPower In-Main power input (1.8V to 5.5V).
40VBUSPower In-5V from micro-USB. Tied to VSYS via diode.

Rows People Get Wrong (And How to Avoid Bricking Your Board)

When working with the Raspberry Pico pinout, misinterpreting power and analog pins is the fastest way to destroy the RP2040 silicon. Here are the specific rows from the datasheet that trip up experienced makers.

⚠️ WARNING: The 5V Tolerance Myth
Unlike the Arduino Uno (ATmega328P) which tolerates 5V on its I/O pins, the RP2040 is strictly a 3.3V device. Feeding 5V into any GPIO pin (including I2C SDA/SCL lines connected to older 5V sensors) will permanently damage the input pad. Always use a bidirectional logic level shifter (like the Texas Instruments TXS0108E) or a simple voltage divider when interfacing with 5V peripherals.

1. VBUS (Pin 40) vs. VSYS (Pin 39)

What it means in practice: VBUS is the raw 5V from the USB connector. VSYS is the main system input. If you power the Pico via USB, VBUS is at 5V, and it feeds VSYS through an internal ideal diode. If you are powering the Pico from an external battery pack (e.g., 3.7V LiPo), you must inject power into VSYS, not VBUS. Injecting 5V into VBUS while simultaneously feeding 5V into VSYS from an external source can cause back-feeding and regulator failure.

2. ADC_VREF (Pin 35) and GP29 (ADC3)

What it means in practice: Pin 35 is the ADC voltage reference. On the standard Pico, it is tied to the 3.3V rail. If you need high-precision analog readings (e.g., for a load cell or precision thermistor), you can cut the PCB trace and feed a clean, external 3.0V reference here. Furthermore, GP29 (ADC3) is internally routed to measure VSYS/3. If you try to use GP29 as a standard analog input for an external sensor, your readings will be skewed by the board's own supply voltage unless you reconfigure the ADC mux in your code.

3. The Missing Pins (GP23, GP24, GP25)

You will notice these GPIOs are missing from the physical header. They are used internally: GP23 controls the onboard SMPS (switch-mode power supply), GP24 is the wireless SPI chip select (on the Pico W), and GP25 is the onboard LED (on the standard Pico). Do not attempt to route these to external headers.

External Wiring Color Codes: IEC vs. NEC Regional Standards

While the Pico PCB itself is universal, the wires you connect to it should follow regional low-voltage DC standards to ensure safe interpretation by anyone who inherits your project. When building sensor harnesses or actuator arrays, stick to the standard that applies to your region.

FunctionIEC 60446 (EU / UK / Global)NEC / US Convention (DC Low Voltage)Common Hobbyist (Dupont)
Ground (GND)Black or BlueBlack or Green (if earth)Black
Power (3.3V VCC)Red or OrangeRedRed
I2C SDA / UART RXYellowYellow or WhiteBlue or Green
I2C SCL / UART TXGreenGreen or OrangeYellow
SPI / PWM SignalsBrown, Grey, or VioletBlue, Orange, YellowOrange, Purple

Which standard applies to you? If you are building a prototype for a commercial enclosure in the EU or UK, follow IEC 60446 and IEC 60204-1 for machine wiring. If you are in the US and wiring a control panel, NFPA 70 (NEC) Article 725 covers Class 2 and Class 3 low-voltage circuits, though hobbyist DC wiring is largely governed by industry convention rather than strict code.

Safe Interpretation When Markings are Faded or Missing

Cheap jumper wires from bulk packs often feature faded stripes or inconsistent coloring. Never trust the color of an unverified wire. If you inherit a breadboard with faded wires:

  1. De-energize the circuit: Unplug the Pico from USB and remove external battery packs.
  2. Use a multimeter in continuity mode: Probe the suspected GND wire against the Pico's metal USB shield (which is tied to GND). A reading of < 1 ohm confirms ground.
  3. Verify VCC with voltage mode: Power the board and probe the suspected 3.3V wire against the confirmed GND. You should read 3.28V to 3.32V. If you read ~5V, you have accidentally probed VBUS.

Raspberry Pico Pinout FAQ

Does the Raspberry Pi Pico W have a different pinout than the standard Pico?

Physically, the header holes and the RP2040 GPIO mappings are identical. However, the Pico W (and Pico WH) routes GP23, GP24, GP25, and GP29 to the onboard Infineon CYW43439 Wi-Fi/Bluetooth chip. On the standard Pico, GP25 is the user LED; on the Pico W, the LED is moved to the Wi-Fi chip's GPIO and is controlled via the wireless driver. If your code relies on toggling GP25 for an LED, it will fail on the Pico W. Always use the PICO_DEFAULT_LED_PIN macro in the C/C++ SDK or machine.Pin('LED') in MicroPython to ensure cross-board compatibility.

Which Raspberry Pico pins are 5V tolerant?

None of the RP2040 GPIO pins are 5V tolerant. The absolute maximum voltage on any I/O pin is 3.6V. The only pins that handle 5V are the power pins: VBUS (Pin 40) and VSYS (Pin 39, up to 5.5V). If you need to read a 5V digital signal (like a standard automotive sensor or an older 5V Arduino), you must use an optocoupler, a relay, or a dedicated logic level translator IC.

How do I safely measure a faded or unmarked Pico GPIO pin?

If you have a custom PCB carrier board where the Pico pinout silkscreen has rubbed off, do not guess. Download the official Raspberry Pi Pico Pinout PDF and orient the board using the physical landmarks: Pin 1 is always the square pad on the top left (closest to the micro-USB port). Pin 40 is VBUS, located on the top right. Count down the left side (odd pins) and up the right side (even pins). Use a fine-point multimeter probe to verify continuity to the known GND pins (3, 8, 13, 18, 23, 28, 33, 38) before applying power to any external sensors.