A Complete Pinout Guide of Raspberry Pi Pico and Pico W: GPIOs Explanation

In this article, we are going to provide a detailed explanation of the Raspberry Pi Pico and Pico W pinout. After that, you will be able to find the power pin, the PWM (Pulse Width Modulation) pin, the ADC (Analog to Digital Converter) pin, and the communication pin of the Raspberry Pi Pico and Pico W. This guide helps you make your projects easier.

Our other Raspberry Pi Pico related tutorials are:

Introduction of Raspberry Pi Pico

The Raspberry Pi Pico is a high-performance microcontroller board with a low cost. It launched in early 2021, and after launching the original Raspberry Pico, several versions of the Pico came to market. The raspberry pi pico H, raspberry pi pico W, and raspberry pi pico WH are updated versions of the raspberry pi pico. Now move on to the features of the Raspberry Pi Pico.

Key features of Raspberry Pi Pico

  • RP2040 microcontroller
  • Dual-core Arm Cortex M0+ processor
  • 133 MHz clock speed
  • 264KB SRAM and 2MB flash memory
  • Micro USB
  • 2 × SPI, 2 × I2C, 2 × UART, 3 × 12-bit ADC, 16 × controllable PWM channels
  • Built-in temperature sensor

Raspberry Pi Pico Vs Raspberry Pi Pico W

If you buy the Raspberry Pi Pico, you need to solder header pins to use the Raspberry Pi Pico, but the Pico H comes with pre-soldered headers. That is the only difference between Pico and Pico H. But there is a big difference between the Raspberry Pi Pico and the Pico W. The Raspberry Pi Pico W has single-band 2.4GHz wireless interfaces. Therefore, you can use WiFi and Bluetooth in your projects. And the Raspberry Pi Pico WH comes with pre-soldered headers.

Raspberry Pi Pico Vs Raspberry Pi Pico W

Raspberry Pi Pico Purchase Links

Component NamePurchase Link
Raspberry Pi PicoAmazon
Raspberry Pi Pico HAmazon
Raspberry Pi Pico WAmazon
Raspberry Pi Pico WHAmazon

Affiliate Disclosure: When you click on links to make a purchase, this can result in this website earning a commission. Affiliate programs and affiliations include, but are not limited to Amazon.com

Mapping of Raspberry Pi Pico Pins

The Raspberry Pi Pico and Pico W have a total of 40 pins. Among those 40 pins, 26 are programmable GPIOs, which means you can control your LED, motor, and sensors with those GPIOs. Other pins are power, ground, and run. We will discuss those pins individually later.

Programmable GPIOsPowerGround(GND)RUNTotal
Number of Pins265 (One is ADC reference)8140

You will find the pin labeling on the back of the Raspberry Pi Pico

pin labeling of Raspberry Pi Pico

Pinout Diagram of Raspberry Pi Pico

Raspberry Pi Pico Pinout

Pinout Diagram of Raspberry Pi Pico W

Raspberry Pi Pico W Pinout

You will find the pinout diagram for the Raspberry Pi Pico on raspberrypi.com

Raspberry Pi Pico Peripherals

The RP2040 microcontroller is used in the Raspberry Pi Pico. Therefore, peripheral interfaces that are supported in the RP2040 are also supported in the Raspberry Pi Pico. The GPIOs of RP2040 microcontroller/ Raspberry Pi Pico run at 3.3v.

The Raspberry Pi Pico peripherals include:

  • 4 ADC channels (12-bit)
  • 16 PWM channels
  • 2 SPI interfaces
  • 2 I2C interfaces
  • 2 UART interfaces

Powering Raspberry Pi Pico

The easiest way to power your pico is to connect pico with mico-USB. You can also power your pico by connecting VSYS and GND pin with 1.8V to 5.5v voltage source. The datasheet of the Pico is recommended to connect a Schottky diode with external power source(1.8V to 5.5V).

Powering Raspberry Pi Pico

If the power source of Pico is micro-USB then you will get 5V on the VBUS pin.

Pico has a 3.3V fixed power pin that can help you to power the external circuit. It is recommended to keep the load on this pin less than 300mA.

Pico has four other power pins for special purpose. They are:

  • 3V3_EN: To turn off the 3.3V power supply and shut down the RP2040, simply connect the 3V3_EN pin to the on-board SMPS enable pin, grounding it. This disables the 3.3V supply.
  • ADC_VREF: The ADC_VREF pin on Pico serves as the power supply and reference voltage for the analog-to-digital converter (ADC). It is generated within the Pico by filtering the 3.3V supply. If you need improved ADC performance, you can use this pin as an external reference voltage.
  • AGND: Ground pin for ADC.
  • RUN: You can reset your Pico to set this pin Low.

General Purpose Input/Output(GPIO) Pins

The Pico provides access to 26 out of the 30 available RP2040 (microcontroller) GPIO pins through direct connections to Pico header pins. GPIO pins 0 to 22 are exclusively for digital purposes, while GPIO pins 26 to 28 can function as either digital GPIO or as analog-to-digital converter (ADC) inputs, and you can switch between these modes through software settings.

Rest of four GPIOs of RP2040 are fixed for internal functionality. Thery are:

  • GPIO23: Output pin. Controls the RT6150 PS (Power Save) pin
  • GPIO24: Input pin. Indicator of VBUS presence. High, if VBUS is present otherwise low.
  • GPIO25: Output pin: Output pin. Fixed for on board LED
  • GPIO29: Input pin: Used for measuring VSYS in ADC mode.

Note: GPIO23,24,25, and,29 pins are not visible on the Pico board. They are used internally for internal functionality.

Analog to Digital Converter (ADC) Pins

The Raspberry Pi Pico has three analog pins to read analog values from sensors. Although two other pins also support analog reading, they are not labeled on the Pico board. One is used for measuring VSYS voltage, and the other is used for controlling the built-in temperature sensor.

GPIOADC channelFunction
GPIO26ADC0Used to read analog values from peripherals (12-bit resolution)
GPIO27ADC1Used to read analog values from peripherals (12-bit resolution)
GPIO28ADC2Used to read analog values from peripherals (12-bit resolution)
GPIO29ADC3Used to measure VSYS voltage level (12-bit resolution)
Used to control built-in temperature sensor
Raspberry Pi Pico ADC Pins

A short note of Pico ADC

  • 12-bit resolution. That means it can slice an analog signal to 0 to samples.
  • Three accessible ADC channels (ADC0, ADC2, ADC2 or GPIO26, GPIO27, GPIO28) for peripherals
  • On board ADC reference voltage (3.3V) with filtering and ADC ground (AGND). So, you need not any eternal ADC reference voltage in your project.

Pulse Width Modulation (PWM) Pins

The Raspberry Pi Pico has 8 pairs of Pulse Width Modulation (PWM) channels. Each pair has two channels A and B.

Raspberry Pi Pico PWM Pins


  • The same PWM output can be selected on two GPIO pins; the same signal will appear on each GPIO. For example, you can get same output on GPIO0 and GPIO16.
  • Pico PWM is 16-bit that means the range of period is 0 to 65536 cycles.

Inter-Integrated Circuit (I2C) pins

The Pico has two identical I2Cs. one is I2C0 and other one is I2C1. I2C needs two pins, SDA and SCL. The SDA and SCL pins of two I2Cs are shown below.

Raspberry Pi Pico I2C Pins

Serial Peripheral Interface (SPI) Pins

The Pico has two identical SPI. one is SPI0 and other one is SPI1. SPI needs four pins, Rx, Tx, CLk (clock), and CS. The Rx, Tx, CLk (clock) and CS pins of two SPIs are shown below.

Raspberry Pi Pico SPI Pins

Note: You cannot use two of the same SPI at the same time. Therefore, if you need two SPIs, you can use one from SPI0 and the other from SPI1.

Universal Asynchronous Receiver / Transmitter (UART) Pins

The Raspberry Pi Pico has a total of five pairs of pins for UART communication. Three pairs are associated with UART0, and the other two are for UART1. The responsible GPIOs are shown below table.

Raspberry Pi Pico UART Pins

Debugging Pins

Raspberry Pi Pico DEBUG Pins

you will find the three debug pins bottom of the board and the labeling back on the Pico. In Pico w they are maybe middle on the board. The three debugging pins are WDIO (Serial Wire Debug I/O), GND, and SWCLK (Serial Wire Clock).

GND: This pin serves as the grounding connection for the two-wire interface.

SWCLK (Serial Wire Clock): Associated with the SWD interface, this pin supplies the clock signal crucial for synchronized communication during debugging.

SWDIO (Serial Wire Debug I/O): This bidirectional pin is a key component of the SWD interface, handling both control and data signals during debugging.

These pins grant direct access to vital signals and interfaces on the Pico board. They enable you to observe and analyze the system’s behavior throughout the debugging process, which can be simplified using a Raspberry Pi Debug Probe.

Rana Bhuiyan

I hold a B.Sc degree in Electrical & Electronic Engineering from Daffodil International University, Bangladesh. I am an Electronic circuit designer and Microcontroller programmer. I am interested in Robotics, Embedded System Design and IoT.

Recent Posts