Arduino Core Beta with ZephyrOS with New Features and Changes Improved Embedded Development
The Arduino Team launched the beta version of Arduino core with ZephyrOS last July, representing a significant milestone in its development journey. ZephyrOS is a free, real-time operating system (RTOS) designed for limited power devices and resources, offering real-time performance capabilities, adaptability, and a rich ecosystem. The modular and scalable architecture supports a wide range of hardware, making it ideal for advanced embedded systems.
By integrating the ZephyrOS, Arduino gains features such as dynamic sketch loading, quicker compilation, and advanced RTOS functionalities like threading and real-time scheduling. This upgrade provides users with a modern and flexible platform while preserving Arduino’s ease of use. It is particularly beneficial for projects requiring precise timing and responsiveness. The beta program encourages developers to test the system, provide feedback, and report issues, helping refine the platform for future advancements.
From the user’s perspective, everything remains the same. However, significant changes have been made behind the scenes, as the way Arduino sketches are built and executed has been revamped with the Arduino Core for Zephyr.
The new Zephyr-based Arduino core introduces several key improvements. Sketches are now compiled as ELF files and dynamically loaded by precompiled Zephyr-based firmware, streamlining the execution process. Additionally, the compilation process speeds up and generates smaller binaries, as it only needs to compile a minimal layer of user code and libraries, while the core ZephyrOS components stay precompiled.
Arduino Core ZephyrOS Beta Features:
- Operating System: ZephyrOS – an open-source, real-time operating system (RTOS).
- Core Features:
- Real-time scheduling for precise timing.
- Threading and inter-process communication support.
- Modular and scalable design for various hardware architectures.
- Sketch Execution:
- Dynamic loading of sketches compiled as ELF files.
- Precompiled Zephyr-based firmware for faster deployment.
- Compilation:
- Faster compilation with smaller binary sizes.
- The user compiles code and libraries separately from ZephyrOS binaries.
- Development Environment: Seamless integration with Arduino’s existing tools and libraries.
- Hardware Support: Compatible with a wide range of Arduino-supported boards.
Previously, we have learned about Arduino’s transition from ARM MBED to the Zephyr RTOS, a lightweight, open-source, and highly modular real-time operating system. It also works with applications ranging from IoT devices to embedded systems. The company also mentioned a major transition to Zephyr RTOS for several boards that previously relied on Mbed. This update will make an affected product including the Arduino GIGA, Arduino Nano 33 BLE, Arduino Nano RP2040 Connect, and the Arduino PRO series, including the Portenta, Nicla, and Opta families.
You can dive right in with the code and setup instructions available on GitHub, provided you have Arduino 2. x.x installed. However, library maintainers may need to make some adjustments, so they have released the Arduino Core for ZephyrOS as a beta. Most users may find it best to continue using the Arduino code for Mbed OS until the transition is fully refined. For more information, you can check Arduino’s official blog page.