Skip to content

Raspberry Pi Pico RP2040 boards

The Raspberry Pi Pico RP2040 platform by Earle F. Philhower, III provides an excellent solution for all the boards based on the Raspberry Pi RP2040 MCU.

This platform is lighter and easier to debug than the Arduino Mbed-OS as it does not rely on Mbed-OS.

The installation is performed with Arduino-CLI.

Install

To install the Raspberry Pi Pico RP2040 boards,

  • Ensure the Arduino tools, CLI or IDE, are installed.

  • Ensure the arduino-cli.yaml configuration file for Arduino-CLI or the Additional boards manager URLs for Arduino IDE includes

https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json
  • Open a Terminal window.

  • Run

$
arduino-cli core install rp2040:rp2040

For more information on the installation of the Arduino IDE,

Declare the programmer-debugger

For Linux systems, update udev.

Picoprobe

The Picoprobe uses a Raspberry Pi Pico as programmer-debugger.

  • Declare it with
$
$
echo 'SUBSYSTEMS=="usb", ATTRS{idVendor}=="2e8a", ATTRS{idProduct}=="0004", GROUP="users", MODE="0666"' | sudo tee -a /etc/udev/rules.d/98-PicoProbe.rules
sudo udevadm control --reload

For more information,

Pico-debug

The pico-debug uses one core of the Raspberry Pi Pico to debug the other core.

  • Declare it with
$
$
echo 'ATTRS{product}=="*CMSIS-DAP*", MODE="664", GROUP="plugdev"' | sudo tee -a /etc/udev/rules.d/98-CMSIS-DAP.rules
sudo udevadm control --reload

For more information,

Debug Probe

The Raspberry Pi Debug Probe is the official debugger for the Raspberry Pi Pico boards.

  • Declare it with
$
$
echo 'SUBSYSTEMS=="usb", ATTRS{idVendor}=="2e8a", ATTRS{idProduct}=="000c", GROUP="users", MODE="0666"' | sudo tee -a /etc/udev/rules.d/98-DebugProbe.rules
sudo udevadm control --reload

For more information,

Develop

Use the libraries for WiFi

  • Edit the main Makefile to list the required libraries.
APP_LIBS_LIST = WiFi Updater MD5Builder lwIP_Ethernet lwIP_CYW43 SPI LittleFS PicoOTA

Use the libraries for Bluetooth

  • Edit the main Makefile to list the required libraries.
APP_LIBS_LIST = BTstackLib SPI

Upload

Debug

The Raspberry Pi Pico board exposes the SWD signals through SWCLK and SWDIO pins.

  • Connect
Raspberry Pi Pico Segger J-Link debug probe
SWCLK SWCLK
SWDIO SWDIO
+3.3V VTref
Ground Ground

To power the Raspberry Pi Pico by the Segger J-Link debug probe,

Raspberry Pi Pico Segger J-Link debug probe
Vbus +5V