Pimoroni Pico Plus2

Overview

The Pimoroni Pico Plus 2 [1] is a compact and versatile board featuring the Raspberry Pi RP2350B SoC. It includes USB Type-C, Qwiic/STEMMA QT connectors, SP/CE connectors, a debug connector, a reset button, and a BOOT button.

Hardware

  • Dual Cortex-M33 or Hazard3 processors at up to 150MHz

  • 520KB of SRAM, and 4MB of on-board flash memory

  • 16MB of on-board QSPI flash (supports XiP)

  • 8MB of PSRAM

  • USB 1.1 with device and host support

  • Low-power sleep and dormant modes

  • Drag-and-drop programming using mass storage over USB

  • 48 multi-function GPIO pins including 8 that can be used for ADC

  • 2 SPI, 2 I2C, 2 UART, 3 12-bit 500ksps Analogue to Digital - Converter (ADC), 24 controllable PWM channels

  • 2 Timer with 4 alarms, 1 AON Timer

  • Temperature sensor

  • 3 Programmable IO (PIO) blocks, 12 state machines total for custom peripheral support

  • USB-C connector for power, programming, and data transfer

  • Qwiic/STEMMA QT(Qw/ST) connector

  • SP/CE connector

  • 3-pin debug connector, this can use with Raspberry Pi Debug Probe [2].

  • Reset button and BOOT button (BOOT button also usable as a user switch)

Supported Features

The pico_plus2 board supports the hardware features listed below.

on-chip / on-board
Feature integrated in the SoC / present on the board.
2 / 2
Number of instances that are enabled / disabled.
Click on the label to see the first instance of this feature in the board/SoC DTS files.
vnd,foo
Compatible string for the Devicetree binding matching the feature.
Click on the link to view the binding documentation.
pico_plus2
/
rp2350b/m33

Type

Location

Description

Compatible

CPU

on-chip

ARM Cortex-M33 CPU2

arm,cortex-m33

ADC

on-chip

Raspberry Pi Pico ADC1

raspberrypi,pico-adc

Clock control

on-chip

The representation of Raspberry Pi Pico’s clock11 2

raspberrypi,pico-clock

on-chip

The representation of Raspberry Pi Pico’s PLL2

raspberrypi,pico-pll

on-chip

The representation of Raspberry Pi Pico ring oscillator1

raspberrypi,pico-rosc

on-chip

The representation of Raspberry Pi Pico external oscillator1

raspberrypi,pico-xosc

on-chip

Raspberry Pi Pico clock controller node1

raspberrypi,pico-clock-controller

Counter

on-chip

Raspberry Pi Pico timer1 1

raspberrypi,pico-timer

DMA

on-chip

Raspberry Pi Pico DMA1

raspberrypi,pico-dma

Flash controller

on-chip

Raspberry Pi Pico flash controller1

raspberrypi,pico-flash-controller

GPIO & Headers

on-chip

Raspberry Pi Pico GPIO1

raspberrypi,pico-gpio

on-chip

Raspberry Pi Pico GPIO Port2

raspberrypi,pico-gpio-port

on-board

GPIO pins exposed on Raspberry Pi Pico headers1

raspberrypi,pico-header

I2C

on-chip

Raspberry Pi Pico I2C1 1

raspberrypi,pico-i2c

Input

on-board

Group of GPIO-bound input keys1

gpio-keys

Interrupt controller

on-chip

ARMv8-M NVIC (Nested Vectored Interrupt Controller)1

arm,v8m-nvic

LED

on-board

Group of GPIO-controlled LEDs1

gpio-leds

on-board

Group of PWM-controlled LEDs1

pwm-leds

Miscellaneous

on-chip

Raspberry Pi Pico PIO3

raspberrypi,pico-pio

MTD

on-chip

Flash node1

soc-nv-flash

on-board

Fixed partitions of a flash (or other non-volatile storage) memory1

fixed-partitions

Pin control

on-chip

The RPi Pico pin controller is a node responsible for controlling pin function selection and pin properties, such as routing a UART0 Rx to pin 1 and enabling the pullup resistor on that pin1

raspberrypi,pico-pinctrl

PWM

on-chip

Raspberry Pi Pico PWM1

raspberrypi,pico-pwm

Reset controller

on-chip

Raspberry Pi Pico Reset Controller1

raspberrypi,pico-reset

Sensors

on-chip

Raspberry Pi Pico family temperature sensor node1

raspberrypi,pico-temp

Serial controller

on-chip

Raspberry Pi Pico UART1 1

raspberrypi,pico-uart

SPI

on-chip

Raspberry Pi Pico SPI1 1

raspberrypi,pico-spi

SRAM

on-chip

Generic on-chip SRAM1

mmio-sram

Timer

on-chip

ARMv8-M System Tick1

arm,armv8m-systick

USB

on-chip

Raspberry Pi Pico USB Device Controller1

raspberrypi,pico-usbd

Watchdog

on-chip

Raspberry Pi Pico Watchdog1

raspberrypi,pico-watchdog

You can use peripherals that are made by using the PIO. See PIO Based Features

Programming and Debugging

The pico_plus2 board supports the runners and associated west commands listed below.

flash debug attach debugserver rtt
openocd ✅ (default) ✅ (default)
uf2

The overall explanation regarding flashing and debugging is the same as or rpi_pico. See Using OpenOCD and Using UF2 in rpi_pico documentation.

# From the root of the zephyr repository
west build -b pico_plus2 samples/basic/blinky -- -DOPENOCD=/usr/local/bin/openocd
west flash