The Raspberry Pi Pico (and its wireless variants) is built around the RP2040 dual-core ARM Cortex-M0+ chip, featuring a 40-pin castellated DIP footprint with 26 multifunction GPIOs. Whether you are wiring I2C environmental sensors, routing SPI to an LCD, or building a custom industrial control harness, knowing the exact rpi pico pinout and the correct wire color standards prevents fried chips and debugging nightmares. Below is the complete reference table, followed by regional wiring standards and the most common pinout mistakes makers and technicians make.
Complete RPi Pico Pinout & Harness Color Reference
The table below maps the 40 physical edge pins to their primary GPIO names, default protocol functions, and the standard wire colors used in custom harnesses. Note: While GPIO pins can be remapped in software via the RP2040 PIO or standard peripherals, the hardware defaults for I2C0, SPI0, and UART0 are listed here.
| Pin | GPIO / Name | Primary / Default Function | IEC 60446 Harness Color | US NFPA 79 Harness Color |
|---|---|---|---|---|
| 1 | GP0 | UART0 TX / SPI0 RX / I2C0 SDA | Yellow (Signal) | Yellow (Signal) |
| 2 | GP1 | UART0 RX / SPI0 CSn / I2C0 SCL | Yellow (Signal) | Yellow (Signal) |
| 3 | GND | Ground Reference | Blue (DC Return) | White or Black (DC Return) |
| 4 | GP2 | I2C1 SDA / SPI0 SCK | Yellow | Yellow |
| 5 | GP3 | I2C1 SCL / SPI0 TX | Yellow | Yellow |
| 6 | GND | Ground Reference | Blue | White/Black |
| 7 | GP4 | I2C0 SDA (Default) | Green (I2C Data) | Green |
| 8 | GP5 | I2C0 SCL (Default) | White (I2C Clock) | White |
| 9 | GND | Ground Reference | Blue | White/Black |
| 10 | GP6 | SPI0 SCK (Default) | Orange (SPI Clock) | Orange |
| 11 | GP7 | SPI0 MISO | Brown (SPI MISO) | Brown |
| 12 | GND | Ground Reference | Blue | White/Black |
| 13 | GP8 | SPI0 MOSI | Black (SPI MOSI) | Red (SPI MOSI) |
| 14 | GP9 | SPI0 CSn | Purple (SPI CS) | Purple |
| 15 | GND | Ground Reference | Blue | White/Black |
| 16 | GP10 | UART1 TX / I2C1 SDA | Yellow | Yellow |
| 17 | GP11 | UART1 RX / I2C1 SCL | Yellow | Yellow |
| 18 | GND | Ground Reference | Blue | White/Black |
| 19 | GP12 | I2C0 SDA / UART0 TX | Yellow | Yellow |
| 20 | GP13 | I2C0 SCL / UART0 RX | Yellow | Yellow |
| 21 | GND | Ground Reference | Blue | White/Black |
| 22 | GP14 | UART1 TX / SPI1 SCK | Yellow | Yellow |
| 23 | GP15 | UART1 RX / SPI1 TX | Yellow | Yellow |
| 24 | GP16 | SPI0 RX (MISO) / I2C0 SDA | Yellow | Yellow |
| 25 | GP17 | SPI0 CSn / I2C0 SCL | Yellow | Yellow |
| 26 | GND | Ground Reference | Blue | White/Black |
| 27 | GP18 | SPI0 SCK / I2C1 SDA | Yellow | Yellow |
| 28 | GP19 | SPI0 TX (MOSI) / I2C1 SCL | Yellow | Yellow |
| 29 | GND | Ground Reference | Blue | White/Black |
| 30 | GP20 | I2C0 SDA / UART1 TX | Yellow | Yellow |
| 31 | GP21 | I2C0 SCL / UART1 RX | Yellow | Yellow |
| 32 | GND | Ground Reference | Blue | White/Black |
| 33 | GP22 | I2C1 SDA / UART1 TX | Yellow | Yellow |
| 34 | RUN | Reset (Active Low) | Gray (Control) | Gray |
| 35 | GP26 / ADC0 | ADC Input 0 / I2C1 SDA | Shielded/Green | Shielded/Green |
| 36 | GND | Ground Reference | Blue | White/Black |
| 37 | GP27 / ADC1 | ADC Input 1 / I2C1 SCL | Shielded/Green | Shielded/Green |
| 38 | GND | Ground Reference (AGND) | Blue | White/Black |
| 39 | GP28 / ADC2 | ADC Input 2 / SPI1 RX | Shielded/Green | Shielded/Green |
| 40 | VBUS | USB 5V Input (Output capable) | Red (+5VDC) | Red (+5VDC) |
| - | VSYS | Main System Power Input (1.8-5.5V) | Brown (+VDC) | Red (+VDC) |
| - | 3V3(OUT) | Regulated 3.3V Output (Max 300mA) | Orange (+3.3V) | Orange (+3.3V) |
| - | ADC_VREF | ADC Reference Voltage (3.3V) | N/A (Do not wire) | N/A (Do not wire) |
Source: Official Raspberry Pi Pico Datasheet. Note that the Pico also features three unpopulated SWD debug pads on the bottom of the board (SWCLK, GND, SWDIO) for low-level debugging.
Wire Color Standards: IEC vs. US Control Wiring
When building custom wire harnesses to connect your Pico to industrial sensors, relays, or external power supplies, you must adhere to regional control wiring standards. Microcontroller GPIOs do not have a universal color, but power and standard protocol lines do.
IEC 60446 (Europe, UK, and most international regions)
Under IEC 60446 (now superseded by IEC 60445 but widely referenced for legacy and practical harness building), DC power circuits follow strict rules:
- Positive (+VDC / 5V / 24V): Brown
- Negative / DC Return (GND): Blue
- Grounded Positive (rare in DC logic): Blue with White stripe
US NFPA 79 / NEC (North America)
In the US, industrial control panels are governed by NFPA 79 and the NEC. For low-voltage DC logic and sensor wiring:
- Positive (+VDC / 5V): Red
- Negative / DC Return (GND): Black or White (White is common for DC ground in telecom and sensor harnesses, Black in general electronics)
- Control / Signal Lines: Yellow or Orange
Safe Interpretation When Markings are Faded
If you are reverse-engineering a Pico board with worn silkscreen or a custom carrier board with missing labels, do not guess based on wire color alone. Use a multimeter in continuity mode:
- Identify the Ground plane: The large copper pours on the top and bottom edges of the Pico are tied to GND. Probe these to find your baseline.
- Locate Pin 1: Pin 1 is always the castellated pad closest to the micro-USB connector on the left side (when the USB port is facing you).
- Verify VSYS: With power applied, measure the unpopulated VSYS pad. It should read between 1.8V and 5.5V depending on your input source.
Rows and Symbols People Get Wrong
Even experienced makers fry their RP2040 chips by misinterpreting specific rows in the pinout table. Here are the most common failure points:
1. VBUS (Pin 40) vs. VSYS
The Mistake: Back-feeding 5V into Pin 40 (VBUS) when the Pico is not powered via USB.
The Reality: VBUS is strictly the USB 5V line. If you are powering the Pico from a battery or external 5V supply, you must use the VSYS pin. Feeding 5V into VBUS when a USB cable is also connected can back-feed your PC's USB port or trip its overcurrent protection. Furthermore, VSYS passes through an ideal diode; VBUS does not.
2. ADC_VREF (Pin 35 on the chip, internal routing)
The Mistake: Assuming ADC_VREF is a generic 3.3V output that can be used to power a sensor.
The Reality: ADC_VREF is the reference voltage for the Analog-to-Digital Converter. It is highly sensitive to noise. Drawing current from this pin will introduce voltage droop, destroying your ADC accuracy. Always use the 3V3(OUT) pin for powering external 3.3V sensors.
3. The Pico W GPIO23 and GPIO25 Trap
The Mistake: Trying to use GPIO23 for a standard peripheral on the Pico W (the wireless version).
The Reality: On the original Pico, GPIO25 is connected to the onboard user LED. On the Pico W, the LED is moved to the wireless chip, and GPIO23 is repurposed as WL_EN (Wireless Enable), while GPIO25 is used for the WL_DIO1 interrupt. If your code blindly toggles GPIO23 on a Pico W, you will reset the CYW43439 Wi-Fi/BT chip, causing a brownout or kernel panic in MicroPython/C++.
Frequently Asked Questions
What is the difference between Raspberry Pi Pico and Pico W pinouts?
The physical 40-pin castellated footprint is identical between the Pico and Pico W. All 26 GPIOs, power pins, and debug pads map to the exact same physical locations. The difference is strictly internal routing: on the Pico W, GPIO23, GPIO24, GPIO25, GPIO27, and GPIO29 are routed to the Infineon CYW43439 wireless module instead of the edge pins. For standard I2C, SPI, and UART on pins 0-22, the pinout and code remain 100% compatible.
Can I use 5V logic on the RPi Pico GPIO pins?
No. The RP2040 silicon operates strictly at 3.3V. The GPIO pins are not 5V tolerant. Applying 5V to any GPIO pin (including I2C SDA/SCL lines pulled up to 5V by an external sensor) will forward-bias the internal ESD protection diodes, potentially injecting current into the 3.3V rail and permanently damaging the chip. If you must interface with 5V sensors (like the HC-SR04 ultrasonic sensor), use a bidirectional logic level shifter (e.g., Texas Instruments SN74LVC8T245) or a simple voltage divider on the RX lines.
How do I identify Pico pins if the silkscreen is faded or missing?
If the white silkscreen text is worn off, orient the board with the micro-USB connector pointing "up" (away from you). The left column contains odd-numbered pins (1, 3, 5... 39) and the right column contains even-numbered pins (2, 4, 6... 40). Pin 1 is the top-left pad. You can also identify the ground pins (3, 8, 13, 18, 23, 28, 33, 38) by using a multimeter in continuity mode; they will beep when probed against the large exposed copper ground planes on the top and bottom edges of the PCB.






