Arduino Core mbed 2.0 supports Raspberry Pi Pico & Arduino Nano RP2040 Connect

Last week, we noted and tried the unofficial Raspberry Pi Pico Arduino Core that works on RP2040 boards, including Raspberry Pi Pico. Everything was super early to set up and the blink sample worked just fine.

But Arduino recently tweeted about the Arduino Core mbed 2.0 release that adds for Raspberry Pi RP2040 boards including Arduino Nano RP2040 Connect and Raspberry Pi Pico boards.

Arduino first used mbed for their Arduino Nano 33 BLE board as they didn’t have an official Arduino core for the Nordic nRF52840 Cortex-M4 microcontroller, and it appears they’ve done the same for Raspberry Pi RP2040 whose mbed implementation itself relies on the C SDK.

Let’s have a try, how hard can it be? We can find the release and changelog on Github with some instructions on the main Github.

First, we can clone the repo in the sketchbook directory (See Arduino IDE’s preferences) which in my case was ~/Arduino:


We’ll also need to clone the ArduinoCore-API:


I could then go to the Boards Manager, look for mbed, and I installed “Arduino Mbed OS RP2040 Boards”

Arduino mBed OS RP2040 boards

I could then select Raspberry Pi Pico board in the menu, as well as the port to which it is connected: /dev/ttyACM0.

Raspberry Pi Pico Arduino mBed

The blink sample could build, but the sample fails to upload to the board.

Raspberry Pi Pico Upload Error

I tried with two Raspberry Pi Pico boards and both fail the same way, while they worked just fine with the unofficial Arduino Core port. Looking at the kernel log in Ubuntu 20.04 after connecting the board:


The ttyACM0 device is properly detected:


But attempting to flash the firmware to the board, reboots it in BOOT mode, and the serial port is gone, while the Pico partition (RPI-RP2) is mounted:


At this point, the Arduino IDE should copy the UF2 file to the partition, but this does not happen. But I found a workaround on Raspberry Pi forum. I located the uf2 file in /tmp/arduino*:


and copied it to the drive:


And I got the LED blinking on the board. So that’s a preliminary port, and may explain why Arduino just tweeted about it, rather than write a blog post to announce the release of Arduino Core mbed 2.0 for RP2040 boards.

Share this:
FacebookTwitterHacker NewsSlashdotRedditLinkedInPinterestFlipboardMeWeLineEmailShare

Support CNX Software! Donate via cryptocurrencies or become a Patron on Patreon

ROCK Pi 4C Plus

3 Replies to “Arduino Core mbed 2.0 supports Raspberry Pi Pico & Arduino Nano RP2040 Connect”

Leave a Reply

Your email address will not be published. Required fields are marked *

Khadas VIM4 SBC
Khadas VIM4 SBC