MakerLab
Raspberry PiRaspberry Pi Pico 2

Raspberry Pi Pico 2: The Next Generation of Microcontroller Power

The Raspberry Pi Pico 2 brings enhanced performance and expanded capabilities to the popular RP2040 microcontroller, making it ideal for ambitious embedded projects.

Raspberry Pi Pico 2

The Raspberry Pi Pico 2 is the latest iteration in Raspberry Pi's microcontroller board series, building upon the success of its predecessor. It features the RP2040-2 chip, an upgraded version of the original RP2040, offering improved performance and additional features for more demanding applications. This board is designed to be a powerful yet accessible platform for a wide range of users, from hobbyists and students learning embedded systems to professional engineers developing complex IoT devices and real-time control systems.

At the heart of the Pico 2 is the RP2040-2, a custom-designed microcontroller from Raspberry Pi. This dual-core ARM Cortex-M0+ processor running at a higher clock speed than the original RP2040 provides significant computational power for its class. The chip also boasts a larger on-chip SRAM, allowing for more complex programs and data handling. The Pico 2 retains the familiar form factor and extensive GPIO capabilities of the original Pico, ensuring compatibility with existing accessories and a smooth transition for users.

Positioned as a high-performance, low-cost microcontroller, the Pico 2 is a direct competitor to other popular boards in the embedded space. Its development was driven by the demand for more processing power and memory within the Raspberry Pi ecosystem, enabling users to tackle projects that were previously out of reach for entry-level microcontrollers. The board is particularly well-suited for applications requiring significant data processing, fast response times, or the implementation of advanced algorithms.

The Pico 2 targets makers who are looking to push the boundaries of their projects, students who need a robust platform for learning advanced embedded concepts, and engineers who require a reliable and cost-effective solution for product development. Its combination of raw power, flexible I/O, and extensive software support makes it a versatile choice for everything from simple blinking LEDs to sophisticated robotics and sensor networks.

Watch

Related video, embedded from YouTube.

Specifications

Microcontroller / SoCRaspberry Pi RP2040-2
ArchitectureDual-core ARM Cortex-M0+
Clock speedUp to 270 MHz (configurable)
Flash / Storage2MB QSPI Flash (on-board)
RAM / SRAM320KB SRAM (on-chip)
Operating voltage3.3V
Digital I/O pins26 (multi-function)
Analog / ADC3x 12-bit (up to 500 kS/s)
PWM16 channels (available on most GPIO)
Connectivity2x SPI, 2x I2C, 2x UART
USB1x USB 1.1 (Host/Device)
Power input1.8V to 5.5V (via VSYS pin) or USB
Dimensions51mm x 21mm

Pinout & pin functions

PinFunction
3V33.3V Power Output
GNDGround
GNDGround
ADC0 (GP26)Analog to Digital Converter input, GPIO 26
ADC1 (GP27)Analog to Digital Converter input, GPIO 27
ADC2 (GP28)Analog to Digital Converter input, GPIO 28
VREFADC Reference Voltage
AGNDAnalog Ground
GP0General Purpose Input/Output 0
GP1General Purpose Input/Output 1, UART0 TX
GP2General Purpose Input/Output 2, UART0 RX
GP3General Purpose Input/Output 3, I2C0 SDA
GP4General Purpose Input/Output 4, I2C0 SCL
GP5General Purpose Input/Output 5
GP6General Purpose Input/Output 6, SPI0 RX
GP7General Purpose Input/Output 7, SPI0 CSn
GP8General Purpose Input/Output 8, SPI0 SCK
GP9General Purpose Input/Output 9, SPI0 TX
GP10General Purpose Input/Output 10, SPI1 RX
GP11General Purpose Input/Output 11, SPI1 CSn
GP12General Purpose Input/Output 12, SPI1 SCK
GP13General Purpose Input/Output 13, SPI1 TX
GP14General Purpose Input/Output 14, UART1 TX
GP15General Purpose Input/Output 15, UART1 RX
GP16General Purpose Input/Output 16, I2C1 SDA
GP17General Purpose Input/Output 17, I2C1 SCL
GP18General Purpose Input/Output 18
GP19General Purpose Input/Output 19
GP20General Purpose Input/Output 20
GP21General Purpose Input/Output 21
GP22General Purpose Input/Output 22
GP23General Purpose Input/Output 23
GP24General Purpose Input/Output 24
GP25General Purpose Input/Output 25
GP28General Purpose Input/Output 28, ADC2
RUNReset Pin (active low)
VSYSSystem Power Input (1.8V to 5.5V)
VBUSUSB 5V Power Input

Wiring & circuit basics

The Raspberry Pi Pico 2 operates at a logic level of 3.3V. This means all digital inputs and outputs communicate using 3.3V signals. Connecting 5V devices directly to the Pico 2's GPIO pins can damage the microcontroller. If you need to interface with 5V components, use a logic level shifter. Powering the Pico 2 can be done via the micro-USB port, which supplies 5V, or directly through the VSYS pin, which accepts a wide voltage range from 1.8V to 5.5V. The onboard 3.3V regulator can supply up to 500mA, but for higher current demands, it's advisable to power the board via VSYS with an external supply that can provide sufficient current.

A basic circuit to blink an LED involves connecting an LED's anode (longer leg) to a GPIO pin (e.g., GP15) and its cathode (shorter leg) to a current-limiting resistor (typically 220-330 Ohms for a standard LED). The other end of the resistor connects to a GND pin. When the GPIO pin is set to HIGH (3.3V), current flows through the LED and resistor to ground, illuminating the LED. This simple setup demonstrates digital output and basic circuit construction.

For interfacing with sensors, such as an I2C temperature sensor like the BMP280, you would connect the sensor's VCC to the Pico 2's 3V3 pin, GND to a GND pin, SDA to GP3 (I2C0 SDA), and SCL to GP4 (I2C0 SCL). The Pico 2's onboard pull-up resistors might be sufficient for short traces, but for longer wires or multiple I2C devices, external pull-up resistors (typically 4.7k Ohm) on both SDA and SCL lines to 3.3V are recommended. This configuration allows the microcontroller to communicate with the sensor using the I2C protocol.

Programming & getting started

The Raspberry Pi Pico 2 can be programmed using a variety of popular toolchains. For beginners, MicroPython and CircuitPython offer an accessible Python-based development environment, allowing for rapid prototyping. The official Raspberry Pi IDE or Thonny are excellent choices for uploading MicroPython code. For C/C++ development, the Pico SDK, often used with CMake, provides the most control and performance. The Arduino IDE is also a popular option, with community-provided board support packages enabling familiar Arduino programming practices. PlatformIO, a VS Code extension, offers a robust, multi-platform development environment for C/C++ and MicroPython.

To upload your first program (e.g., a MicroPython 'blink' script), you typically need to put the Pico 2 into bootloader mode. This is done by holding down the BOOTSEL button while connecting the micro-USB cable to your computer. The Pico 2 will appear as a mass storage device (like a USB drive). You then simply drag and drop the MicroPython UF2 file onto this drive. Once the file transfer is complete, the Pico 2 will reboot and start running MicroPython. For C/C++ or Arduino, you would connect the Pico 2 normally (without holding BOOTSEL) and use the respective IDE's upload function, which typically uses the UF2 bootloader or SWD debugging interface.

Project ideas

Advanced Weather StationUtilize the multiple ADC pins for analog sensors (e.g., soil moisture, light) and I2C/SPI for digital sensors (e.g., temperature, humidity, pressure). The dual-core processor can handle data logging, complex calculations, and wireless communication simultaneously, learning about sensor fusion and efficient data processing.
High-Speed Data Acquisition SystemLeverage the RP2040-2's faster clock speed and improved SRAM to capture data from multiple high-frequency sensors via SPI or custom interfaces. This project explores real-time data handling, buffer management, and efficient data transfer protocols.
Robotics Control HubWith ample GPIO and PWM channels, the Pico 2 can drive multiple motors, servos, and read encoder feedback. The dual cores can manage motor control loops on one core while handling sensor input and communication on the other, teaching advanced control systems and multi-threading.
Embedded Machine Learning InferenceRun lightweight machine learning models (e.g., keyword spotting, simple gesture recognition) directly on the Pico 2 using frameworks like TensorFlow Lite for Microcontrollers. This project delves into embedded AI, model optimization, and efficient resource utilization.
Custom USB HID DeviceProgram the Pico 2 to act as a custom keyboard, mouse, or gamepad using its USB Host/Device capabilities. This project teaches about USB protocols, human interface device (HID) standards, and creating unique input peripherals.
Real-time Audio ProcessingUtilize the high clock speed and ample SRAM for basic audio effects, filtering, or analysis. Connect external audio codecs via I2S (if available through GPIO mapping) to process sound in real-time, exploring digital signal processing (DSP) on microcontrollers.

Buying tips & gotchas

When purchasing the Raspberry Pi Pico 2, ensure you are buying from reputable vendors to avoid counterfeit or modified boards. The RP2040-2 chip is a significant upgrade, so be mindful of older documentation or tutorials that might refer to the original RP2040's specifications (especially clock speed and SRAM). Always use 3.3V logic level components or level shifters when interfacing with the Pico 2's GPIO pins. Essential accessories include a micro-USB cable for power and programming, breadboards and jumper wires for prototyping, and potentially a logic analyzer for debugging complex I/O interactions. Consider investing in a small heatsink if you plan to run the processor at its maximum clock speed under heavy load for extended periods, although thermal throttling is generally well-managed.