Raspberry Pi Pico 2 W Pinout Diagram
You don't need to memorize or understand every pin right now. We will refer back to this section as needed while working through the exercises in this book.

Complete Pinout Reference
Power Pins
Power pins are essential for keeping your Raspberry Pi Pico 2 W running and supplying electricity to the sensors, LEDs, motors, and other components you connect to it.
VBUS
Connected to the 5V coming from the USB port. When the board is powered over USB, this pin will carry about 5V. You can use it to power small external circuits, but it's not suitable for high-current loads.
VSYS
The main power input for the board. You can connect a battery or regulated supply here with a voltage between 1.8V and 5.5V. This pin powers the onboard 3.3V regulator, which supplies the RP2350 and other parts.
3V3 (OUT)
Provides a stable 3.3V output from the onboard regulator. It can be used to power external components like sensors or displays, but it's best to limit the current draw to under 300mA.
GND
Ground pins are used to complete electrical circuits and are connected to the system ground. The Pico 2 provides multiple GND pins spread across the board for convenience when connecting external devices.
GPIO Pins
The Raspberry Pi Pico 2 includes 26 General Purpose Input/Output (GPIO) pins, labeled GPIO0 through GPIO29. These GPIOs are highly flexible and can be used to read inputs like switches or sensors, or to control outputs such as LEDs, motors, or other devices.
Important for Pico 2 W: GPIO pins 23, 24, 25, and 29 are reserved for the wireless interface. GPIO25 controls the onboard LED but requires special handling through the cyw43 driver rather than direct GPIO control.
All GPIOs operate at 3.3V logic. This means any input signal you connect should not exceed 3.3 volts, or you risk damaging the board.
ADC Pins
The Raspberry Pi Pico 2 has three ADC-capable pins: GPIO26, GPIO27, and GPIO28, which correspond to ADC0, ADC1, and ADC2 respectively. You can use these pins to read analog signals from sensors such as light sensors and temperature sensors.
ADC Channels
- GPIO26:ADC0 - First analog input channel
- GPIO27:ADC1 - Second analog input channel
- GPIO28:ADC2 - Third analog input channel
- ADC_VREF:Reference voltage for ADC (default 3.3V)
- AGND:Analog ground for cleaner readings
Communication Protocols
The Pico 2 supports multiple communication protocols through its GPIO pins. Each protocol uses specific pins that can be configured in software.
I2C (Inter-Integrated Circuit)
Two-wire communication protocol using SDA (data) and SCL (clock). The Pico 2 has two I2C controllers (I2C0 and I2C1).
Example: I2C0 can use GPIO0/GPIO1, GPIO4/GPIO5, GPIO8/GPIO9, etc.
SPI (Serial Peripheral Interface)
Four-wire protocol for faster communication with displays, SD cards, and sensors. Uses SCK (clock), MOSI (data out), MISO (data in), and CS (chip select).
The Pico 2 has two SPI controllers (SPI0 and SPI1).
UART (Serial Communication)
Simple two-wire serial communication using TX (transmit) and RX (receive). Commonly used for GPS modules, Bluetooth adapters, and debugging.
The Pico 2 has two UART controllers (UART0 and UART1).
SWD Debugging Pins
The Raspberry Pi Pico 2 provides a dedicated 3-pin debug header for SWD (Serial Wire Debug). This allows you to use a debug probe for flashing firmware, setting breakpoints, and real-time debugging.
Debug Pins
- SWDIO: Serial data line
- SWCLK: Serial clock line
- GND: Ground reference
Onboard Temperature Sensor
The Raspberry Pi Pico 2 includes a built-in temperature sensor connected internally to ADC4. This sensor measures the temperature of the RP2350 chip itself, not the ambient room temperature. It's especially useful for monitoring chip temperature under load.
Control Pins
3V3 (EN)
Enable pin for the onboard 3.3V regulator. Pulling this pin low will disable the 3.3V power rail and effectively turn off the RP2350.
RUN
Reset pin for the RP2350. It has an internal pull-up resistor and stays high by default. Pulling it low will reset the microcontroller. Useful for adding a physical reset button.