300 Contributors!

By | Blog

A vibrant and diverse community is one of the hallmarks of a successful open source project. In the years since the first commit was made, the Zephyr Project has been intentional about building a vendor-neutral space where any developer, whether from a large company, independent consultancy, hobbyist or student, can collaborate to build an innovative, fit for purpose RTOS. We are pleased to announce that the Zephyr Project has now passed an important community milestone. We have surpassed 300 unique contributors!

The community of developers building Zephyr Project is as diverse as the types of contributions they make. Currently, our community is made up of technologists working on the project in a professional capacity. Developers working for Platinum members Intel, Linaro, NXP, and Nordic Semiconductor represent a large portion of the community. However, over the last 12 months Zephyr Project has seen a rise in the number of developers making commits from Silver members like Oticon and Synopsys and contributors from universities, small firms and non-member organizations. Over the next year we anticipate the pace of committer community growth to continue to increase as new member organizations join and the user community grows. With that growth we fully expect Zephyr OS to continue driving innovation and collaboration in the IoT space.

Deciding to join an open source community as a committer is an important decision. In addition to choosing an open source RTOS based on features, security, safety and the number of supported boards and drivers, developers looking to invest their time in a project look at more than just the code. So why are people joining the Zephyr community?

Zephyr is a vendor-neutral initiative governed by a separate Technical Steering Committee and Governing Board. This means technical decisions and decisions about how contributions are assessed and included in the project are made transparently and with input from representatives from the community. This allows the project to incorporate diverse perspectives, quickly respond to the needs of the community and better keep pace with the ever changing IoT and embedded ecosystem.

On behalf of the entire team behind the Zephyr Project, we want to thank each and every contributor who has helped make this project one of the fastest growing RTOS’ in the market. If you are interested in getting involved in the Zephyr Project please see our Contributor Guide. You can get more insight into the contributor community on our GitHub page. Visit our roadmap to see what Zephyr developers are working on for the upcoming 1.13 release and beyond. Stay tuned to this blog for more community updates, events and announcements.

How to Cross Compile Zephyr OS

By | Blog

Today, we’re shining the spotlight on Turhan Oz, an entrepreneur, lead software developer and growth hacker, who often documents his experiences on his blog.

For example, in this blog (originally posted here) Turhan details how to cross compile, from a Mac environment, Zephyr™ OS for an ARM target architecture using GNU Arm Embedded Toolchain.

GNU Arm Embedded Toolchain

First of all, download the GNU Arm Embedded Toolchain for Mac OS which is currently the 2017-q4-major release.

Then, install the toolchain in your home /opt directory, as follow:

To check if the toolchain is properly install, simply run gcc with the — version option:

Getting and compiling Zephyr OS


As explained in the documentation, you will need some dependencies utilities and applications that you need to get:


Now, you need to clone Zephyr and install all the requirements requested by Zephyr itself (thanks to pip):

Configuration toolchain

Now gets the interesting part. We will compile an image of Zephyr™, from our Mac, targeting the Arduino DUE, which is an ARM based board.

The first thing is to set some environment variables that will be used by Ninja and cmake. It is mainly the ARM toolchain path and letting Zephyr know about it:

Building the hello world sample

Finally, we can build the hello_world sample provided in the repository, targeting our ARM board:

Bonus: run your application in qemu

Arduino DUE is based on a cortex M3 CP UTo run your application in qemu, you need to compile it against qemu. To do so, proceed as follows:

Going further

What motivates me to share this tutorial is that I couldn’t find easily how to install the third part toolchain and how to configure the environment for cross-compiling.

To learn more about Zephyr:

For more from Turhan OZ:

If you are interested in writing or submitting a blog, please email

Highlights from LC3 and the IoT China Meetup

By | Blog

The Zephyr Project is committed to supporting our community and creating opportunities for our developers and members to share their work and evangelize the project within the the larger open source ecosystem. On June 24-26, members of the Zephyr Project had the privilege to travel to Beijing, China for the LinuxCon+ContainerCon+CloudOpen (or LC3) event to do just that. Over the course of 3 days developers, member representatives and community members had the chance to meet, share how they are using Zephyr OS to build innovative products and work together to promote the initiative to the local developer community.

LC3 drew more than 2,000 attendees from around the world looking to learn, share and collaborate with the open source community. Wayne Ren (Synopsis), Ryan Qian (NXP) and Kate Stewart (Linux Foundation) gave 2 formal Zephyr presentations attended by nearly 90 developers. The topics covered were an Introduction to Zephyr Project and Retrofitting Memory Protection in ZephyrOS. Please follow the links to view their slides.

In addition to the conference, the Zephyr Project also teamed up with EdgeX Foundry, Linux Foundation and VMWare to host and IoT Meetup. Around 50 developers, professional technologists, students and business leaders heard 8 presentations on a variety of use cases and technical topics centered on open source real time operating systems, edge computing and connected devices. For more information on the presentations and to see the full speaker lineup please visit the event page.

We would like to offer special thanks to Alan Ren, General Manager of the VMWare China R&D Center and Tiejun Chen, Staff Engineer and Technical Leader of the VMWare China R&D Center for their generosity and hospitality hosting this very fun and interesting event.

If you would like to get connected with the Beijing community please visit the Zephyr Project WeChat channel. You can email to get added or look for the QB code.  

Thank you again to all of the incredible Zephyr developers, member representatives and users who took the time to attend these events and connect with the community. Over the next few months Zephyr Project will be at a number of events and conferences. Follow us on Twitter or visit our blog to stay up to date on all the future events, hackathons and meetups we have planned. If you are interested in getting started using Zephyr OS or joining the community please see our Getting Started Guide or contact us directly.

Zephyr OS 1.12 is here and packed with new features!

By | Blog

The Zephyr Project released Zephyr OS 1.12 on June 11 and we’re excited to share the details with you! This release comes packed with an exciting list of new features and development boards, improved hardware testing and tools, and the first batch of stabilized APIs that work toward a future LTS release – all contributed by a growing community of developers from around the world!

We introduced support for asymmetric multiprocessing through the integration of the OpenAMP project, enabling communication between multiple instances of Zephyr on a heterogeneous multicore microcontroller like the LPC54114 (Arm Cortex-M4 and Cortex-M0+), as well as communication between Linux and Zephyr on the i.MX7D (Arm Cortex-A7 and Cortex-M4).

We enhanced the networking stack to add 802.1Q VLAN support, added new Ethernet and WiFi management interfaces, and extended OpenThread support to the FRDM-KW41Z. We added 15 new boards and many new drivers including USB, CAN, I2S, and LED. The filesystem subsystem now supports multiple concurrent devices and persistent storage for BLE including Mesh.

To prepare for the future LTS release, we stabilized the SPI and watchdog APIs, and started work to stabilize the ADC, RTC, timer, and I2C APIs that will complete in the next release. Similarly, we introduced a valuable new device testing feature in sanity check that enables developers to execute runtime tests on their own local boards. This feature quickly became an essential tool to expose runtime bugs not found by automated build testing, and to validate resulting bug fixes, thus ensuring a high-quality release.

A most sincere thank you to the more than 100 developers that contributed to this release. Not only did you add a wealth of new features during the merge window, but you rallied together as a community during the stabilization period across time zones, companies, architectures, and even weekends, to find and fix bugs, making Zephyr 1.12 the best release yet!

To learn more about Zephyr Project please see our Getting Started Guide, join the mailing list or follow #zephyrproject on IRC.