The frequent followers of Zephyr™ Project have probably picked it up already and are enjoying the new features of the latest Zephyr OS release. But in case you missed it: the Zephyr Project team has completed and released the Zephyr RTOS version 1.9, a next step towards our goal of best-in-breed, multi-architecture, small, scalable, secure RTOS optimized for the Internet of Things! Besides the steadily increasing number of supported boards, main new improvements are on connectivity and security. Highlights of the release are Bluetooth 5.0 including mesh support, Lightweight Machine to Machine (LwM2M) protocol support, new APIs for better compatibility with existing application code (Pthreads, BSD sockets), and additional robustness and protection features leveraging MPU and MMU hardware.
On the SoC and board-support side, Zephyr OS v1.9 for example adds support for a version of the ARC EM Starter Kit featuring SecureShield MPU (ARC EM7D with MPU), and many more: Atmel SAM4S Xplained, Olimex STM32-E407 and STM32-P405, STM32F412 Nucleo, STM32F429I-DISC1, TI SensorTag, VBLUno51 and VBLUno52 boards.
On the connectivity side, Zephyr Project’s built-in Bluetooth stack now supports all new Bluetooth LE (BLE) 5.0 features like mesh networking (except the BLE 5.0 advertising extensions). And even better, the controller part is proven qualification-ready by passing all required HCI and Link Layer conformance tests on an IC of the Nordic nRF5x family. I won’t go into details on the significance of this achievement, it deserves a blog on its own. But I do like to see this pre-certification as yet another example of the Zephyr OS’s high quality code-base and readiness for deployment. The other new connectivity feature to mention is support for the Open Mobile Alliance Lightweight machine-to-machine protocol (OMA LWM2M). This is an application layer communication protocol for device management and service enablement, designed for sensor networks and other M2M environments. It is typically used with the Constrained Application Protocol (CoAP) instead of HTTP, so LWM2M scales much better to the resource constrained devices targeted by the Zephyr RTOS than other protocols.
Last but not least, the Zephyr Project team continues to work on security enhancements by leveraging the hardware protection features found in many SoCs. In 1.8 initial support for MPU and MMU protection was added. Release 1.9 builds on that by adding stack sentinel support and initial work on thread isolation. Since this all is work in progress, these features currently might look confusing without understanding the bigger picture. The final goal of this work is to run applications at a lower privilege level and only with access to own data or explicitly shared data. That means sensitive application data can be better protected. At the same time, it enhances the robustness of the system, making it harder to maliciously exploit programming errors. Several pull requests towards this final goal have been queued up for the next release already, so stay tuned.
On behalf of the Zephyr Project team, we hope you enjoy this release. Please let us know what you think!