The end of Mbed marks a new beginning for Arduino
As you might have heard, on July 9th, Arm announced that the Mbed platform and OS are officially destined to reach end of life in July 2026, and therefore will no longer be maintained.
The news has sent ripples through the embedded development community, particularly affecting brands like micro:bit, Raspberry Pi and, of course, Arduino – all of which received Arm’s support over the years and “gained momentum in educational settings and among the maker community, enabling many of the features that Mbed offered to become more widespread and accessible, from browser-based IDEs and hardware abstraction to code hosting and remote build services.”
So, if you found yourself wondering how will Mbed’s retirement affect Arduino? – as a recent Hackster article did – this blog post is for you!
We’re always ready to innovate
At Arduino, we consider every new development in technology an opportunity to improve our platform and offer better and better tools to all our users. In the case of Mbed, which primarily affects a subset of our boards (see below), we knew the end of life was nearing and began proactively searching for a substitute years in advance. Spoiler: we found an excellent one in ZephyrOS! This is one of the reasons why we joined the Zephyr® Project as Silver members in 2023, as announced in our latest Open Source Report.
We are actively working to enable Arduino users to continue using the language and libraries they are familiar with. This involves creating an Arduino core based on an underlying Zephyr layer (you can dive deeper into some of the details about our progress with the project during the 2024 Arduino Days, with a conversation between our own Martino Facchin and Zephyr’s Benjamin Cabè). We plan to release the first beta of this transition by the end of 2024, with a rollout for various boards starting in 2025 – so we hope you’ll stay tuned and join the testing phase to support our efforts!
How is Mbed used in the Arduino ecosystem?
Every Arduino board has its corresponding “core,” i.e. the implementation of the Arduino programming language for its particular microcontroller architecture. The goal of Arduino cores is to expose the same commands and instructions (APIs) regardless of what board is being used.
For some boards – mainly GIGA, Nano 33 BLE, Nano RP2040 Connect, Portenta, Nicla family, and Opta – we implemented the Arduino core on top of an abstraction layer provided by Mbed OS in order to speed up development. The Arduino cores for other popular Arduino boards in the UNO, MKR and Nano families are implemented differently, and do not use Mbed OS.
In general, whether an Arduino core is based on Mbed or other underlying software layers does not have any practical impact on how end users program our boards.
We’re built for longevity
The advantage of using Arduino as an abstraction layer lies in its universal language, which remains consistent regardless of the underlying implementation. Therefore, programs written for Arduino will continue to work whether Mbed is there or not.
This is a significant reason to use Arduino for projects that need to stand the test of time.
We face change as a community
What do you think? Do you have any concerns about Mbed reaching its EOL two years from now? Comment below to let us know, or reach out to us on social media. We love to hear from you and want to support all our users in this transition.