End of the Line for Arm's Mbed OS

Arm has officially pulled the plug on their long ignored Mbed OS. But what will this mean for Arduino who rely heavily on the now dead OS?

Alasdair Allan
3 months ago

Yesterday, Arm formally announced that they were pulling the plug on Mbed OS. The end of life announcement gave their IoT operating system a year to live, with an official end-of-life date in July 2026.

The writing has been on the wall for Mbed OS for some time, with the project's Github having untriaged issues dating back several years, and with many complaining that the the operating system was being ignored. The Mbed online compiler was deprecated back in 2021, and then eventually retired in 2022, and rumours of the OS' demise and layoffs in the Mbed team have been circulating ever since.

Embedded and IoT development has evolved and scaled significantly since Mbed was introduced, and projects supported by Arm like micro:bit, Arduino, and Raspberry Pi have gained momentum in educational settings and among the maker community, enabling many of the features that Mbed offered to become more widespread and accessible," says Paul Williamson, SVP and GM of the IoT Line of Business, at Arm, continuing that "with many embedded RTOS options available to partners today, we believe these needs are now best served by the wider Arm IoT ecosystem, and are working with partners impacted to support necessary changes on their side. At Arm we remain fully committed to the IoT market and will continue to invest in IoT development through standards, tools, and educational content.

While it will no longer be actively maintained by Arm, Mbed OS is open source and will remain publically available. There is also a community fork of Mbed OS called Mbed CE that is under active development, and in its end-of-life announcement Arm has pointed external contributors to Mbed to the community fork rather than their own Github.

Arm has advised commercial users that Mbed OS terms of use will not change, and that they can continue to use Mbed OS in existing projects. Although without continuing support from Arm it's unlikely many commercial users will choose to do so, and they're likely to begin moving their code bases to FreeRTOS or Zephyr.

Educational users have advised to export the content from their accounts, and to use GitHub or GitLab repositories for hosting and sharing code going forward, rather than the Arm hosted Mercurial repositories.

Support for Mbed projects inside Keil Studio Cloud or Mbed Studio will cease after the OS is deprecated next year. However, although unsupported by Arm, projects may continue to be buildable using the Mbed CLI tools.

Fortunately the related Mbed TLS project is unaffected by yesterday's announcement and continues to be supported as part of the TrustedFirmware project. The Mbed TLS library was originally a standalone project that was rebranded and included into Mbed OS, so breaking it back out of the OS is a sensible move by Arm, It's widely viewed as a solid alternative to OpenSSL. Assurances of its survival will be welcome news to projects that depend on it.

However, yesterday's end-of-life announcement will come as a blow to some.

Arduino adopted Mbed OS as their primary platform back in 2019 with the introduction of the Nano 33 BLE and Nano 33 BLE Sense. Back then building the Arduino Core for new MCUs on top of Mbed OS was seen as the sensible choice by the Arduino development team, and it sits underneath official Arduino support for their Pro lines — the Portenta, Nicla, and Opta boards.

Arduino users of RP2040-based boards have less to worry about, despite the official Arduino core for RP2040-based boards using Mbed OS, as the there is an working alternative to the official core. Earle Philhower's popular unofficial core sits directly on top of the Raspberry Pi's own Pico C SDK and is built using a custom GCC 12.3/Newlib 4.0 toolchain. No Mbed needed.

The Arduino move to build on top of Mbed OS was seen as a big win both for them, and Arm, “…it will give Arduino users a much bigger standard library of high quality components including an RTOS, two file systems, networking stacks and automatic power management.And second, this also brings the Arduino core as a library to Mbed OS, giving Mbed OS applications access to the huge set of Arduino peripheral drivers through a standard interface,” said Jan Jongboom at the time.

We reached out to Arduino for comment, but haven't heard back at the time of going to press. However it's likely the company has had some advance notice of the end-of-life announcement, and will have transition plans in place to continue to support the Arduino Core.

Update: Arduino has posted that they are transitioning the Arduino core for the boards affected by the end-of-life announcement from using Mbed to Zephyr as an abstraction layer.

You can dive deeper into progress on this project by listening in on a conversation between Martino Facchin from Arduino and Benjamin Cabè from Zephyr which took place during the Arduino Days 2024 back in March.

Alasdair Allan
Scientist, author, hacker, maker, and journalist. Building, breaking, and writing. For hire. You can reach me at 📫 alasdair@babilim.co.uk.
Latest articles
Sponsored articles
Related articles
Latest articles
Read more
Related articles