Raspberry Pi Pico is a powerful yet affordable microcontroller board based on the RP2040 chip, offering a range of GPIO (General Purpose Input/Output) pins for versatile applications. Whether you’re a hobbyist, student, or developer, understanding the Raspberry Pi Pico pinout is essential for your projects. In this guide, we’ll explore the pinout diagram, functionalities, and how to use them effectively.
Raspberry Pi Pico Pinout Diagram
The Raspberry Pi Pico comes with a total of 40 pins, including 26 multi-function GPIO pins that support various interfaces. Below is a brief classification:
- Power Pins: 3.3V, 5V (VSYS), and GND
- GPIO Pins: 26 multi-functional pins
- Analog Input Pins: 3 dedicated ADC pins
- Communication Interfaces: SPI, I2C, UART
- Debugging Interface: SWD (Serial Wire Debug)
Pin Layout:
Complete Raspberry Pi Pico Pinout Table:
Pin Number | Pin Name | Function |
1 | GP0 | UART0 TX, I2C0 SDA, SPI0 RX |
2 | GP1 | UART0 RX, I2C0 SCL, SPI0 CSn |
3 | GND | Ground |
4 | GP2 | UART1 TX, I2C1 SDA, SPI0 SCK |
5 | GP3 | UART1 RX, I2C1 SCL, SPI0 TX |
6 | GP4 | UART1 CTS, I2C0 SDA, SPI0 RX |
7 | GP5 | UART1 RTS, I2C0 SCL, SPI0 CSn |
8 | GND | Ground |
9 | GP6 | UART1 TX, I2C1 SDA, SPI0 SCK |
10 | GP7 | UART1 RX, I2C1 SCL, SPI0 TX |
11 | GP8 | UART1 CTS, I2C0 SDA, SPI1 RX |
12 | GP9 | UART1 RTS, I2C0 SCL, SPI1 CSn |
13 | GND | Ground |
14 | GP10 | UART1 TX, I2C1 SDA, SPI1 SCK |
15 | GP11 | UART1 RX, I2C1 SCL, SPI1 TX |
16 | GP12 | UART0 TX, I2C0 SDA, SPI1 RX |
17 | GP13 | UART0 RX, I2C0 SCL, SPI1 CSn |
18 | GND | Ground |
19 | GP14 | UART0 TX, I2C1 SDA, SPI1 SCK |
20 | GP15 | UART0 RX, I2C1 SCL, SPI1 TX |
21 | GP16 | PWM0A, I2C0 SDA, SPI0 RX |
22 | GP17 | PWM0B, I2C0 SCL, SPI0 CSn |
23 | GND | Ground |
24 | GP18 | PWM1A, I2C1 SDA, SPI0 SCK |
25 | GP19 | PWM1B, I2C1 SCL, SPI0 TX |
26 | GP20 | PWM2A, I2C0 SDA, SPI1 RX |
27 | GP21 | PWM2B, I2C0 SCL, SPI1 CSn |
28 | GND | Ground |
29 | GP22 | PWM3A, I2C1 SDA, SPI1 SCK |
30 | RUN | Enable (pull high to run) |
31 | GP26 | ADC0 |
32 | GP27 | ADC1 |
33 | GP28 | ADC2 |
34 | GND | Ground |
35 | 3V3_EN | 3.3V Regulator Enable |
36 | 3V3_OUT | 3.3V Output |
37 | GND | Ground |
38 | VSYS | Main Input Voltage |
39 | VBUS | USB Power Input |
40 | GND | Ground |
This table provides a complete reference to the Raspberry Pi Pico pinout, allowing you to effectively utilize its capabilities for various projects.
32 | GP27 | ADC1 |
33 | GP28 | ADC2 |
34 | GND | Ground |
35 | 3V3_EN | 3.3V Regulator Enable |
36 | 3V3_OUT | 3.3V Output |
37 | GND | Ground |
38 | VSYS | Main Input Voltage |
39 | VBUS | USB Power Input |
40 | GND | Ground |
This table provides a complete reference to the Raspberry Pi Pico pinout, allowing you to effectively utilize its capabilities for various projects.
Understanding Raspberry Pi Pico Pin Functions
1. Power Pins
- VSYS (Pin 39): Main input voltage (1.8V to 5.5V)
- 3V3 (Pin 36): Regulated 3.3V output
- GND: Common ground
2. GPIO (General Purpose Input/Output) Pins
Raspberry Pi Pico features 26 GPIO pins, which can function as digital input/output or be configured for other communication protocols.
3. Analog Input Pins (ADC)
The Pico has three analog-capable pins (GP26, GP27, GP28) with a 12-bit resolution.
4. Communication Protocols
- UART (Universal Asynchronous Receiver-Transmitter): GP0, GP1, GP4, GP5, GP8, GP9, GP12, GP13
- I2C (Inter-Integrated Circuit): GP0, GP1, GP2, GP3, GP4, GP5
- SPI (Serial Peripheral Interface): GP2, GP3, GP4, GP5, GP6, GP7
How to Use Raspberry Pi Pico GPIO Pins
1. Blinking an LED with Raspberry Pi Pico
To test GPIO functionality, let’s write a simple MicroPython program to blink an LED on GP15.
from machine import Pin
import timeled = Pin(15, Pin.OUT)
while True:
led.value(1)
time.sleep(1)
led.value(0)
time.sleep(1)
Save this script as main.py
on your Raspberry Pi Pico and run it via Thonny IDE.
Conclusion
The Raspberry Pi Pico pinout provides extensive possibilities for various applications. Whether you’re working on IoT projects, robotics, or sensor-based applications, understanding pin functionalities will help you maximize the potential of this microcontroller.
Let us know in the comments how you’re using Raspberry Pi Pico in your projects!