Raspberry Pi Pico and Other RP2040-Powered Boards Get an Unofficial Open Source Arduino Core

Unofficial community Core project brings support for all known RP2040 boards to the Arduino IDE — including use of the PIO state machines.

ghalfacree
about 3 years ago Internet of Things

The Raspberry Pi Pico, along with other RP2040-based microcontroller boards, is now Arduino-compatible — but it's developer Earle F. Philhower, III, not Arduino itself, who has been the first to make it happen.

When Raspberry Pi announced the in-house RP2040 microcontroller and the Pico development board earlier this year, it confirmed plans to have the chip mass-produced so third parties could build their own boards. Arduino was among the first to announce it was taking advantage of the offer, planning a board dubbed the Arduino Nano RP2040 Connect as well as plans to create an Arduino Core which adds RP2040 support to the Arduino IDE.

Work on the official Arduino Core continues, but an impatient community has beaten Arduino to the punch with an unofficial variant supporting all known RP2040 boards: the Arduino-Pico Core.

The Arduino-Pico Core supports all known RP2040 boards, though there's still some work to do. (📷: Earle F. Philhower, III)

"This is a port of the RP2040 (Raspberry Pi Pico processor) to the Arduino ecosystem," project maintainer Earle F. Philhower, III explains. "It uses a custom toolset with GCC 10.2 and Newlib 4.0.0, not depending on system-installed prerequisites. There is automated discovery of boards in bootloader mode, so they show up in the IDE, and the upload command works using the Microsoft UF2 tool (included)."

Like most Arduino Cores, the RP2040 Core can be installed quickly within the Arduino IDE via the Boards Manager tool — although instructions are included for manual installation too. The port includes a range of features, from pulse-width modulation (PWM) support to use of the programmable input/output (PIO) state machine capabilities for jitter-free servo control and tone generation.

Arduino is working on its own RP2040-based board and official Arduino Core. (📷: Arduino)

A few things are still on the to-do list, however: The port doesn't yet include support for installable filesystems nor I2S, and Philhower has indicated he also plans to update the debug infrastructure.

The Arduino-Pico Core is now available on GitHub, under the GNU Lesser General Public License 2.1.

ghalfacree

Freelance journalist, technical author, hacker, tinkerer, erstwhile sysadmin. For hire: freelance@halfacree.co.uk.

Latest Articles