Arduino Releases Its First Zephyr Cores, as It Makes the Move Away From Arm's Discontinued Mbed
While its hand may have been forced, Arduino promises big things from the move to Zephyr — including compilation time reductions.
Arduino has released its first microcontroller cores to feature the Zephyr real-time operating system, as it looks to transition away from Arm's discontinued Mbed platform for its devices — with beta builds now available.
"Last July, when we announced the beginning of the transition from Mbed to Zephyr, we promised to release the first beta by the end of 2024," the Arduino team explains. "Today, we are excited to announce the first release of Arduino cores with ZephyrOS in beta! We are transitioning Arduino cores to ZephyrOS to ensure continued support and innovation for developers. This change follows Arm’s deprecation of MbedOS, which has historically powered some of our cores."
While the move may have been triggered by Arm's decision to sunset its Mbed platform earlier this year, Arduino claims that the move will bring real benefits to users too: "ZephyrOS is a state-of-the-art RTOS designed to enable advanced embedded systems," the Arduino team claims. "It is modular, scalable, and supports multiple hardware architectures, making it an excellent choice for the next generation of Arduino projects."
It's a big move, though, and one that will likely take time to complete. Running Arduino sketches under Zephyr works in a very different way to Mbed: sketches are compiled to ELF executables, loaded dynamically at run-time by the Zephyr kernel. This approach also provides access to Zephyr subsystems including threading, inter-process communication, and real-time schedule — and should dramatically improve compile times, as only the sketch itself needs to be recompiled with the Zephyr firmware remaining static.
Instructions for installing the Zephyr-based cores into Arduino IDE and Arduino CLI are available alongside the cores themselves, under the permissive Apache 2.0 license, on the Arduino Core Zephyr repository — built atop a Google Summer of Code project carried out at Zephyr in 2022. The cores are to be considered beta-standard, Arduino warns: "use for testing only and provide feedback to help us improve."