Resources

Find everything you need to get started with Zephyr below. Check out demos and our database of supported boards, or dive into the docs and the latest release. You can also find developer tools here, and learn how to contribute upstream. The community is here to help you learn, deploy, and master Zephyr. Engage with us if you need something that you can't find here.

Codebase

Learn More

The  Zephyr Project source code is maintained in a Git repository. Zephyr is provided as source code and build scripts for different target architectures and configurations, and not as a binary image.

For releases 1.14 and after, multiple repositories are used, so the preferred method for downloading source code is by using a Zephyr Project tool called west. While you can also download source code as a tar.gz file or use Git commands (see the bottom of the GitHub release notes pages), this requires additional manual steps (see Using Zephyr without west documentation for details).

Issue Tracking

Track open software issues via our Github repo.

Zephyr boards icon

Supported Boards

Zephyr supports more than 200 boards, and there’s a good chance the one you’re developing for is on the list. Additionally, it also supports QEMU. But if you don’t find what you’re looking for, reach out to the community and tell us what you’re looking for. For information on adding your own board see the board porting documentation.

Learn More
Zephyr documentation icon

Documentation

The project’s technical documentation is tagged to correspond with a specific release. The latest documentation for the “master” branch under development can be found at https://docs.zephyrproject.org/latest/. Use the version selector to see the documentation for tagged versions.

Learn More
Zephyr meetings icon

Meetings

Committees and Working Groups provide technical leadership and direction for the Zephyr project under the guidance of the Governing Board. Join and follow along with the members of these groups in their weekly open meetings.

Learn More

Tools

GCC
NXP MCUXpresso SDK
Renode
Synopsys Designware
Nordic nrfx
GCC

The Zephyr Project environment defaults to being built using the GNU Compiler Collection front end for C. See https://gcc.gnu.org/ for more information.

NXP MCUXpresso SDK

The MCUXpresso SDK is a software package for NXP’s Kinetis and LPC microcontrollers and i.MX RT crossover processors that includes production-grade peripheral drivers, stacks, middleware and more. Portions of MCUXpresso SDK are provided with Zephyr as the the base enablement for NXP’s microcontroller products.  Full MCUXpresso SDK’s can be custom built at the NXP MCUXpresso website.

Renode

Renode™ is an open source framework developed by Antmicro that lets you develop, debug and test IoT devices and systems reliably, scalably and effectively. It enables running unmodified software for embedded devices on a PC for development and testing of large wireless or wired networks without the need for physical hardware. The repeatability, control and scalability offered by Renode drastically improves the development experience especially for multi-node systems and protocols and enables a new Continuous Integration (CI) driven workflow.

Renode has been successfully used to run multi-node setups with the Zephyr RTOS for development, debug and interoperability testing, and an effort is currently underway to use it to test Zephyr’s networking stack.

 

Find out more

Synopsys Designware

Synopsys offers a series of ARC®-based development and evaluation systems for software development, code porting, software debugging and profiling.

The ARC EM Starter Kit provides a platform for rapid software development for ARC EM processors. The kit is ready for use “out-of-the-box” and enables designers to immediately begin writing code for their design. It features a Xilinx Spartan®-6 LX45 FPGA, an on-board 125 MHz clock generator, 128 MB of DDR3 memory and 16 MB of flash memory.

The ARC Software Development Platforms are complete, standalone hardware and software platforms that include ARC processors, peripherals, pre-built Linux and MQX operating systems, device drivers, and application examples, enabling designers to start software development prior to SoC availability.

In addition, they have been built using licensable DesignWare IP including USB, Ethernet, UART and other common interfaces, providing a rich set of peripherals that can be implemented in an SoC. The ARC AXS101 Software Development Platform supports the ARC 625D, 770D, EM4, EM6 and AS221BD processors. The ARC AXS102 Software Development Platform supports the ARC HS34 and HS36 processors and is ideal for the development of SoCs for high-performance embedded applications.


Find out more

Nordic nrfx

nrfx is Nordic's RTOS-agnostic hardware abstraction layer (HAL) that also includes fully portable drivers for all Nordic ICs. nrfx is used as the foundation to implement support for Nordic hardware in Zephyr..

Videos

Presentations

See the presentations by Zephyr Project members and community.

Zephyr Project Overview

Zephyr Project Technical Talks

How to Contribute

COMMUNITY TOOLS

The links below show a few channels for you to participate in the Zephyr Project.

Mailing List
Zephyr Project Slack Channel
Wiki

GIT

Follow Zephyr Project updates on Github.

Main Repository
Issue Tracking
Release Notes

Download Logo (Please email us to request .ai or .eps format)

Join the Zephyr Project Community

The Zephyr Project community encompasses a number of smaller communities, each with its own focus, needs and methods for communicating.

Developer Community
Member Community
User Community
Developer Community

Developers from member organizations and the general community who participate in the development of software within the Zephyr Project.

Member Community

Member organizations and their representatives. Each member organization provides an administrative representative to the project’s Governing Board and a technical representative to the Technical Steering Committee, or TSC. You can find more information on the Members page. Members meet periodically over conference calls and face-to-face annually at one of the Linux Foundation’s events.

Members contribute and discuss ideas, submit bugs and bug fixes, provide training, and help those who need it through the community’s forums such as mailing lists, GitHub, or Zephyr Slack channel. Anyone can join the developer community and participate through discussing ideas, submitting/fixing bugs and attend the TSC meetings. However, only member organizations can currently provide representatives to the project’s leadership, which includes the Chief Architect, a hierarchy of Maintainers, and member representatives on the Technical Steering Committee.

User Community

The Zephyr Project user community includes everyone working with the project to build interesting things. If this means you, welcome to the Zephyr community! If not, we would be glad to welcome you.

Current Release Overview

Updated versions of Zephyr are released approximately every three-months. Here is a summary of the current release and the long term support (LTS) release. You can check out the Program Management wiki page for information about release planning and intermediate milestone dates.

2.2.0 Release (March 2020)
2.1.0 Release (December 2019)
2.0.0 Release (September 2019)
1.14.1 LTS Release Update (October 2019)
2.2.0 Release (March 2020)

Major enhancements with this release include (but are not limited to):

  • Initial support for 64-bit ARMv8-A architecture (Experimental).
  • CANopen protocol support through 3rd party CANopenNode stack
  • LoRa support was added through integration of the Semtech LoRaWAN endpoint
    stack and addition of a new SX1276 LoRa modem driver.
  • A new and redesigned GPIO API has been introduced, and all in-tree users have been ported to it

The detailed release notes can be found on the Zephyr GitHub releases page.

2.1.0 Release (December 2019)

Major enhancements with this release include (but are not limited to):

  • Normalized APIs across all architectures.
  • Expanded support for ARMv6-M architecture.
  • Added support for numerous new boards and shields.
  • Added numerous new drivers and sensors.
  • Added new TCP stack implementation (experimental).
  • Added BLE support on Vega platform (experimental).
  • Memory size improvements to Bluetooth host stack.

The detailed release notes can be found on the Zephyr GitHub releases page.

2.0.0 Release (September 2019)

Major enhancements with this release include (but are not limited to):

  • The kernel now supports both 32- and 64-bit architectures.
  • We added support for SOCKS5 proxy. SOCKS5 is an Internet protocol that
    exchanges network packets between a client and server through a proxy server.
  • Introduced support for 6LoCAN, a 6Lo adaption layer for Controller Area
    Networks.
  • We added support for :ref:Point-to-Point Protocol (PPP) <ppp>. PPP is a
    data link layer (layer 2) communications protocol used to establish a direct
    connection between two nodes.
  • We added support for UpdateHub, an end-to-end solution for large scale
    over-the-air device updates.
  • We added support for ARM Cortex-R Architecture (Experimental).

The detailed release notes can be found on the Zephyr GitHub releases page.

1.14.1 LTS Release Update (October 2019)

This is an LTS maintenance release with fixes, as well as Bluetooth qualification listings for the Bluetooth protocol stack included in Zephyr.

The following security vulnerability (CVE) was addressed in this release:

  • Fixes CVE-2019-9506: The Bluetooth BR/EDR specification up to and including version 5.1 permits sufficiently low encryption key length and does not prevent an attacker from influencing the key length negotiation. This allows practical brute-force attacks (aka “KNOB”) that can decrypt traffic and inject arbitrary ciphertext without the victim noticing.

Bluetooth Qualification:

  • 1.14.x Host subsystem qualified with QDID 139258
  • 1.14.x Mesh subsystem qualified with QDID 139259
  • 1.14.x Controller component qualified on Nordic nRF52 with QDID 135679

The detailed release notes can be found on the Zephyr GitHub releases page.

Release Roadmap

The project’s Future Release Roadmap is available for review, and future release planning documentation is maintained in a live Zephyr Project GitHub roadmap.

It’s always our goal for features on the roadmap to be delivered in the release indicated, but some features may be added to a release, moved to a different release, modified, or dropped altogether as the community works together to investigate and understand shifting priorities. That’s why it’s so important to engage and become a member of the Zephyr Project.