The Raspberry Pi Pico series (including the original RP2040, the wireless Pico W, and the newer RP2350-based Pico 2) packs immense capability into a tiny footprint. However, its dense 40-pin layout leaves little room for error. Below is the definitive hardware map, wiring standards, and failure-prevention guide for your workbench.
The Complete Raspberry Pi Pico Pinout Reference Table
The physical pinout remains largely consistent across the Pico, Pico W, and Pico 2, though the RP2350 introduces new internal multiplexing. Use this table to map physical pins to their primary GPIO assignments and power rails. Always orient the board with the micro-USB port facing you and the BOOTSEL button at the top.
| Pin | Label / GPIO | Primary Function | Voltage / Limits |
|---|---|---|---|
| 1 | VBUS | USB 5V Power (Input/Output) | 5V nominal |
| 2 | VSYS | Main System Power Input | 1.8V to 5.5V |
| 3 | GND | Ground Reference | 0V |
| 4 | 3V3_EN | Onboard Regulator Enable | 3.3V logic (Pull high to enable) |
| 5 | 3V3(OUT) | Regulated 3.3V Output | 3.3V (Max ~300mA total) |
| 6 | ADC_VREF | ADC Reference Voltage | 3.3V (Tie to 3V3 for standard use) |
| 7-11 | GP28 - GP26 | General Purpose I/O / ADC0-2 | 3.3V (Strictly non-5V tolerant) |
| 12 | GND | Ground Reference | 0V |
| 13-29 | GP22 - GP10 | General Purpose I/O / SPI / I2C | 3.3V logic |
| 30 | RUN | Reset / Enable Pin | 3.3V (Pull low to reset) |
| 31-38 | GP9 - GP2 | General Purpose I/O / UART / PWM | 3.3V logic |
| 39 | GND | Ground Reference | 0V |
| 40 | GP0 | General Purpose I/O / UART0 TX | 3.3V logic |
Source: Raspberry Pi Pico Series Official Documentation
Sensor Wiring Color Codes: IEC, NEC, and Legacy Standards
While the Pico itself uses a standard PCB silkscreen, the jumper wires and sensor pigtails you connect to it must follow a logical color code to prevent catastrophic shorts. Depending on your region and the origin of your sensor modules, you will encounter different standards. Standardizing your bench wiring prevents debugging nightmares.
Modern IEC 60446 (EU, UK, and Most International Modules)
For AC mains, IEC mandates Brown (Line), Blue (Neutral), and Green/Yellow (Earth). For the low-voltage DC side (which applies to your Pico GPIOs), the industry convention derived from IEC sensor manufacturing is:
- Red: VCC / Power (3.3V or 5V)
- Black: GND (Ground)
- White or Yellow: Signal / Data
- Blue: I2C SDA / SPI MISO
- Green: I2C SCL / SPI SCK
NEC Standards (United States)
The US National Electrical Code (NEC) governs AC wiring (Black=Line, White=Neutral, Green/Bare=Ground). In US-based DIY and robotics communities, DC low-voltage wiring often mirrors this:
- Red: Positive Voltage
- Black or White: Ground / Return
- Orange/Yellow: Signal lines
Legacy UK (Pre-2004)
If you are salvaging older UK equipment or using vintage sensor packs, you may see Red (Line/Power), Black (Neutral/Ground), and Green (Earth). Warning: Never assume a black wire is ground on legacy UK gear without testing it with a multimeter; it could be carrying live voltage.
Pins and Rows People Get Wrong (And How to Avoid Bricking Your Board)
The RP2040 datasheet is clear, but community forums are full of fried Picos. Here are the specific rows and pins where makers consistently make mistakes.
1. The 5V Tolerance Myth
2. VBUS vs. VSYS Backfeeding
Pin 1 (VBUS) is tied directly to the USB 5V line. Pin 2 (VSYS) is the main power input for the board (accepting 1.8V to 5.5V). If you power the Pico via a battery on VSYS while simultaneously plugging in the USB cable, the board's internal Schottky diode prevents the battery from backfeeding into your PC's USB port. However, if you wire 5V into VBUS while USB is connected, you are directly paralleling two 5V sources, which can fry your PC's USB controller.
3. 3V3(OUT) vs. 3V3_EN
Pin 5 is 3V3(OUT), the output of the onboard RT6154 buck-boost regulator. It can supply roughly 300mA total (minus what the RP2040 and Pico W radio are drawing). Pin 4 is 3V3_EN. This is an input pin. If you accidentally wire a 5V sensor power line into Pin 4 thinking it's a 3.3V power rail, you will force the regulator into an undefined state and likely destroy it.
Safe Interpretation When Pico Silkscreen Markings are Faded
The white silkscreen on the Pico's PCB wears off quickly with handling, flux exposure, and heat. If your pin labels are gone, do not guess. Use the physical landmarks to re-establish your map.
- Establish Orientation: Hold the board so the micro-USB port is facing your chest, and the square BOOTSEL button is at the top edge.
- Find the Corners: The bottom-left pin is always GP0 (Pin 40). The bottom-right pin is always GND (Pin 39). The top-left pin is VBUS (Pin 1).
- Count the Grounds: There are three prominent ground pins on the edges: Pin 3 (top left area), Pin 8 (middle left), Pin 13 (middle right), Pin 18 (bottom left area), Pin 23 (bottom right area), Pin 28 (middle right), Pin 33 (middle left), and Pin 38 (bottom right). If you find a GND, count outward to the nearest corner to verify your position.
- Use a Multimeter: Set your meter to continuity mode. Touch one probe to the metal shield of the micro-USB port (which is grounded) and use the other probe to verify which pins are GND before applying power.
Raspberry Pi Pico Pinout FAQ
Is the Raspberry Pi Pico pinout compatible with Arduino shields?
No, not directly. While the Pico has a similar 0.1-inch (2.54mm) pitch and shares some physical dimensions with the Arduino Nano, the electrical pinout is completely different. Arduino shields expect 5V logic on specific pins (like D0-D13 and A0-A5) and rely on the physical placement of the 5V and GND rails. Plugging a 5V Arduino shield directly into a Pico will result in mismatched power rails and 5V signals hitting the Pico's 3.3V-only GPIOs. You must use a dedicated Pico shield adapter or wire the sensors manually.
Which Raspberry Pi Pico pins are 5V tolerant?
On the original RP2040-based Pico and Pico W, zero GPIO pins are 5V tolerant. The absolute maximum rating for any GP pin is 3.6V. On the newer RP2350-based Pico 2, Raspberry Pi introduced a bank of 5V-tolerant GPIOs (specifically GPIO28 and a few others depending on the exact package and configuration), but the safest engineering practice is to assume 3.3V tolerance across the entire board unless you are actively reading the RP2350 datasheet for your specific circuit design.
Can I use GP26, GP27, and GP28 for digital I/O and ADC simultaneously?
You can configure them as either digital I/O or Analog-to-Digital Converter (ADC) inputs, but not both at the exact same millisecond on the same pin. The RP2040 features a single ADC with a 4-channel multiplexer (channels 0-2 map to GP26-GP28, and channel 3 is tied to the internal temperature sensor). If your code switches a pin from digital output to ADC input, you must allow a brief settling time (typically a few microseconds) for the internal capacitance to stabilize before taking an accurate analog reading. Furthermore, if you are using these pins for ADC, ensure they are driven by low-impedance sources (under 10kΩ) to prevent inaccurate readings due to the ADC's internal sampling capacitor draw.






