Raspberry Pi Pico
| Raspberry Pi Pico | |
|---|---|
| Manufacturer | Raspberry Pi Ltd |
| CPU | Dual-core ARM Cortex-M0+ (RP2040) |
| Clock Speed | 133 MHz (default, overclockable) |
| Cores | 2 |
| RAM | 264 KB SRAM |
| Flash Storage | 2 MB QSPI Flash |
| GPIO Pins | 26 digital I/O (3 ADC) |
| Operating Voltage | 1.8–5.5V DC |
| Typical Cost | $4 USD (official) / ~$2-3 (clones) |
| Datasheet | RP2040 Datasheet / Pico Product Brief |
The Raspberry Pi Pico is a low-cost microcontroller board based on the RP2040 chip designed by Raspberry Pi Ltd. Released in January 2021, the Pico brought professional-grade microcontroller capabilities to an ultra-affordable price point, making it ideal for robotics, embedded systems, and educational projects.
Overview
The Raspberry Pi Pico is built around the RP2040 microcontroller, which was custom-designed by Raspberry Pi. Unlike traditional Raspberry Pi boards that run Linux, the Pico is a microcontroller platform designed for real-time control applications and low-power embedded systems.
Key Features
- Dual-core processor: Two ARM Cortex-M0+ cores running at up to 133 MHz (overclockable to 400+ MHz)
- Memory: 264 KB of on-chip SRAM and 2 MB of onboard QSPI flash storage
- GPIO: 26 multi-function GPIO pins, including:
- 3 analog inputs (12-bit ADC)
- 16 PWM channels
- 2 × UART
- 2 × SPI controllers
- 2 × I²C controllers
- USB 1.1 host and device support
- Programmable I/O (PIO): 8 state machines for custom peripheral support
- Power: Operates from 1.8V to 5.5V, making it compatible with both 3.3V and 5V logic
- Low cost: Official boards retail for $4 USD; compatible clones available for $2-3
Programming
The Raspberry Pi Pico can be programmed in multiple languages:
- MicroPython - The recommended language for beginners, providing easy access to hardware features
- C/C++ - For performance-critical applications using the official Pico SDK
- CircuitPython - Alternative Python implementation with additional libraries
- Arduino - Via the Arduino IDE with community-maintained board support
Code can be uploaded via USB without requiring an external programmer. Simply hold the BOOTSEL button while plugging in the board to mount it as a USB mass storage device.
Variants
- Raspberry Pi Pico - The standard board ($4)
- Raspberry Pi Pico W - Adds 2.4 GHz 802.11n Wi-Fi ($6)
- Raspberry Pi Pico H - Includes pre-soldered headers
- Raspberry Pi Pico WH - Wi-Fi variant with pre-soldered headers
- Raspberry Pi Pico 2 - Updated version with RP2350 chip (2024)
Pinout
The Pico uses a 40-pin dual-row header with 0.1" (2.54mm) spacing. Most pins are multi-function and can be configured for different purposes:
- 26 digital GPIO pins
- 3 analog input pins (ADC0, ADC1, ADC2)
- 16 PWM channels
- 2 UART, 2 SPI, 2 I²C interfaces available on multiple pins
- USB data pins (fixed)
- Power pins: 3V3, VSYS, VBUS, GND
Full pinout details are available in the official pinout diagram.
Usage in BRS Projects
The Raspberry Pi Pico is the primary microcontroller used in SimpleBot, BRS's first robot design. Its combination of low cost, dual-core performance, and rich peripheral set makes it ideal for robotics applications requiring:
- Motor control via PWM
- Sensor interfacing (analog and digital)
- Real-time control loops
- Optical odometry pulse counting
- Communication protocols (UART, I²C, SPI)
Resources
- Official Product Page
- RP2040 Datasheet (624 pages)
- Pico Datasheet
- MicroPython SDK Documentation
- Official C/C++ SDK
- Raspberry Pi Microcontroller Documentation
See Also
- RP2040 - The microcontroller chip itself
- SimpleBot - BRS's first robot, powered by the Pico
- BRS Differential Drive Robot Control Board - Custom PCB designed for the Pico