Image of Board

Pico 2 by Raspberry Pi

Raspberry Pi Pico 2 is Raspberry Pi Foundation’s update to their popular RP2040-based Pico board, now built on RP2350: their new high-performance, secure microcontroller. With a higher core clock speed, double the on-chip SRAM (512KB), double the on-board flash memory (4MB), more powerful Arm M33 cores, new security and low-power features, and upgraded interfacing capabilities, the Pico 2 delivers a significant performance and feature boost while retaining hardware and software compatibility with the original Pico.

The unique dual-core, dual-architecture capability of RP2350 allows users to choose between a pair of industry-standard Arm Cortex-M33 cores and a pair of open-hardware Hazard3 RISC-V cores. The M33 has an FPU and is roughly 2× as fast as the M0+ of the RP2040.

Not only is the Pico 2 twice as fast, it has twice as much RAM (520KB vs 264KB) and twice as much flash (4MB vs 2MB). There are also 3 PIO blocks with 4 state machines each (up from 2), plus HSTX (high speed transmission) for high-frequency output signals like DVI.

Blinka supports the Pico 2 via both MicroPython and u2if (USB-to-IF), allowing you to use CircuitPython libraries either directly on the board or from a connected computer.

RP2350 Chip features:

  • Dual ARM Cortex-M33 or dual Hazard3 RISC-V @ 150MHz
  • 520kB on-chip SRAM
  • 4MB of on-board QSPI Flash
  • 2 UARTs, 2 SPI controllers, 2 I2C controllers
  • 24 PWM channels
  • USB 1.1 controller and PHY, with host and device support
  • 12 PIO state machines (3 blocks × 4)
  • HSTX peripheral

Purchase

Contribute

Have some info to add for this board? Edit the source for this page here.

Adafruit Blinka Installation

We use a special library called adafruit_blinka (named after Blinka, the CircuitPython mascot) to provide the layer that translates the CircuitPython hardware API to whatever library the Linux board provides.

For example, on Raspberry Pi we use the python RPi.GPIO library. For any I2C interfacing we'll use ioctl messages to the /dev/i2c device. For SPI we'll use the spidev python library, etc. These details don't matter so much because they all happen underneath the adafruit_blinka layer.

Board Usage Options: MicroPython Board, Attached Device