The Raspberry Pi Pico is an RP2040 microcontroller board with 2 MB of on-board flash, a micro-USB B port for power, data and drag-and-drop flashing, and a 40-pin 2.54 mm castellated/through-hole DIP footprint (51 x 21 mm) usable on a breadboard or as a surface-mount module. This page renders the MCUID data record: the complete J1/J2 header mapping, the GPIOs consumed by internal board functions, and every published field tied to a fixed official source.
Start developing
- Bring-up — the first-flash guide covers ports, cables and the first blink step by step.
- Chip capabilities and limits — the RP2040 chip page separates what the chip provides from what this board wires up.
Common questions this site answers
- Getting started with the Pico
- Pico vs Pico 2
- The board is not detected over USB
- 3.3 V and 5 V on the Pico
Also known as: pico 1, raspberry pi pico, rpi pico
No module layer
Unlike Espressif evaluation boards, the Pico has no module layer: the RP2040 chip, flash (Winbond W25Q16JV) and power circuitry are soldered directly on the board. The compatible-modules list below is intentionally empty — we do not invent a module record for a board that has none.
GPIOs used by internal board functions
The datasheet's pinout section lists four GPIOs that the board design itself consumes:
- GP25 — connected to the user LED (a single-color LED, not an addressable RGB LED)
- GP24 — VBUS sense (high when USB power is present)
- GP23 — SMPS power-save control (drive high for PWM mode / lower 3V3 ripple at light loads)
- GP29 — VSYS monitor in ADC mode (ADC3, measures VSYS/3)
Unlike GP0–GP22 and GP26–GP28, these four GPIOs are not brought out on the J1/J2 header — the board routes them to the LED, the SMPS, VBUS and the VSYS divider, and the 40-pin contact table reflects exactly that. The claim table pins each one to its datasheet wording.
Flashing: BOOTSEL and UF2
Hold BOOTSEL while powering the board (e.g. while plugging in USB) and it enumerates as a USB mass-storage device; drag a .uf2 file onto it to reprogram the flash. The USB boot code lives in on-chip ROM and cannot be accidentally overwritten. The 3-pin SWD pads at the bottom edge (SWDIO, GND, SWCLK — no power pin) offer the debug alternative.
ADC pins: the reverse-diode limit
The ADC-capable pins GP26-GP28 (and GP29) have an internal reverse diode to the 3V3 rail: never exceed 3V3 + ~300 mV on them, and do not drive them while the board is unpowered — current leaks through the diode into the 3V3 rail. Normal digital GPIOs 0-25 do not have this diode — a difference in input structure, not a 5 V tolerance claim; per-pin absolute maximums remain a datasheet matter.
Default UART/I2C/SPI pins
The pico-sdk board header (tag 2.3.1) defines the software defaults — a pin-function convention, not a hardware restriction:
| Function | Pin | Physical position |
|---|---|---|
| UART0 TX / RX | GP0 / GP1 | J1 pin 1 / 2 |
| I2C0 SDA / SCL | GP4 / GP5 | J1 pin 6 / 7 |
| SPI0 RX (MISO) | GP16 | J2 pin 21 |
| SPI0 CSn | GP17 | J2 pin 22 |
| SPI0 SCK | GP18 | J2 pin 24 |
| SPI0 TX (MOSI) | GP19 | J2 pin 25 |
Pico H — the pre-soldered variant
The Raspberry Pi Pico H is this board with header pins pre-soldered. Per the official documentation, Pico and Pico H offer identical hardware capabilities — RP2040, 2 MB flash, the same 40-pin layout — with exactly two physical differences:
- Pre-soldered headers instead of castellated holes you solder yourself (the H suffix; the second generation spells this "with headers").
- Debug connector style: the H uses a small keyed three-pin connector (JST-style) at the bottom edge where the plain Pico has three castellated through-hole pads — same three signals (
SWDIO/GND/SWCLK), no power pin. The keyed connector fits the Raspberry Pi Debug Probe without modification.
Everything on this page — pinout, pin functions, strapping notes, the ADC reverse-diode limit — applies to the Pico H unchanged. See the official variant table and the debug-connector table (commit 21d772e7).
Related board
The Raspberry Pi Pico 2 keeps the same pinout and board layout with an RP2350: officially stated hardware and software compatibility, double the flash and SRAM.