Overview
Zephyr RTOS - A Comprehensive Software Platform
For many software developers who support resource-constrained devices, the term “RTOS” is synonymous with “kernel.” It is assumed that an RTOS’s primary—or, perhaps, only—role is to manage the different tasks comprising an application. This view, however, encompasses only a small portion of the functionality needed to implement a connected device. Real-world IoT products require numerous peripheral drivers, various middleware components, and protocol stacks for communication. When this software is not delivered as part of the RTOS, it becomes the responsibility either of the developer or a silicon vendor.
From the start, the Zephyr project has aimed to address the full range of needs of an IoT development project. Thus, Zephyr is much more a “software platform” than an RTOS. In addition to robust, fully tested implementations of the embedded software components referenced above, Zephyr is provided with command-line tools that promote a consistent and straightforward configuration and build process.
Licensing and Governance
Zephyr is not only unique in its packaging of numerous different software components into a single platform. The way that it is developed and managed also reflects an approach different to that followed by other RTOSes. Zephyr is a Linux Foundation project with governing bodies intended to ensure that it doesn’t become captive to any particular cloud or semiconductor vendor. While a group of member companies support the Zephyr project financially and help to make key decisions on the direction of the codebase, development is open to anyone, and there is a vibrant community of code contributors today.
Underpinning Zephyr’s community is the software’s true open-source licensing policy. The default license model for Zephyr is Apache 2.0, which offers permissive, easy-to-understand terms and is widely used in the world of IoT. Although Zephyr users and member companies are free to make their own proprietary, non-portable additions to the OS outside of the project’s official repo, the guiding philosophy of the project is one of openness and collaboration, and these principles motivate many of the decisions taken by Zephyr’s governing bodies.
Silicon Labs’ Support of Zephyr RTOS
As a Silver Zephyr member since early 2021, Silicon Labs is helping to drive the project forward. Alongside governance activities, Silicon Labs engineering teams are increasing their contributions to the Zephyr codebase. The aim is to provide broader support for the OS in the coming months and years. Initial efforts are targeted towards Bluetooth LE and Wi-Fi, with a goal of supporting these technologies across a range of Silicon Labs devices.
An official launch of Silicon Labs’ Bluetooth LE and Wi-Fi support offerings for Zephyr is still being planned. However, work on the underlying code is underway. Thanks to Zephyr’s open nature, much of the work is visible in the project’s official GitHub repo. Fully functional support code, sufficient for running Bluetooth LE examples on select kits, is already available there. You can now run Bluetooth LE examples on select kits with our fully functional support code.
Future Zephyr Projects
Zephyr is clearly a project with a lot of momentum behind it, and the Silicon Labs team is excited to be playing an active role in determining its future direction. While Bluetooth LE and Wi-Fi are short-term priorities, there are, of course, many other wireless technologies that Silicon Labs could bring to the project. Leveraging the unique characteristics of open-source software development, the Silicon Labs engineering teams plan to work closely with the Zephyr community to ensure that the needs of IoT developers are fully addressed by future versions of the codebase.
Getting Started
General Zephyr Setup
The official documentation for Zephyr includes a simple getting started guide for installing the software and tools needed to build and run the OS on an embedded device. The guide covers the setup for host machines running Windows, Linux, or Mac OS and should be the first stop for any developers new to Zephyr.
Zephyr on Silicon Labs Hardware
You can now access the code for various examples on the popular EFR32 wireless kits from the Zephyr repo. The examples are not an 'official' support package. They do not include a complete range of on-chip peripheral drivers or complete SQA approval. However, the code is part of the foundation of Silicon Labs’ future support offerings and is a great way to get started with Zephyr on EFR32 devices today. You can find more information on the Zephyr features and subsystems enabled on each device, along with supplementary getting-started information, from the pages linked below.
Tech Docs
Community & Support
Knowledge Base Articles
Browse our knowledge base articles for information about specific products.
User Forums
Browse technical questions, share your ideas, and learn more about our latest solutions.
Questions? You're in the Right Place.
Silicon Labs has an active, knowledgeable user community of engineers and developers that are enthusiastic about solving problems.