Skip to content

golioth/awesome-zephyr-rtos

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dark Logo Ligh Logo

🪁 Awesome Zephyr RTOS Awesome

The Zephyr RTOS is based on a small-footprint kernel designed for use on resource-constrained and embedded systems: from simple embedded environmental sensors and LED wearables to sophisticated embedded controllers, smart watches, and IoT wireless applications.

What is an awesome list?

Contents

Official Resources

Libraries

Application frameworks

  • gsoc-2022-arduino-core - Arduino Core API module with an Arduino-C++ style abtraction layer.
  • chre - Context Hub Runtime Environment (CHRE) is Android’s platform for developing always-on applications, called nanoapps.
  • control - A control systems design library written in pure C that provides you with advanced algorithms for control, state estimation and model identification specifically designed for use on embedded systems.
  • micro_ros_zephyr_module - ROS 2 for microcontrollers.
  • open-amp - Open Asymmetric Multi Processing (OpenAMP) framework.
  • Sense-VM - Bytecode virtual machine for microcontrollers.
  • Swedish Embedded Platform SDK - Swedish Embedded Platform SDK is a comprehensive platform for firmware development.
  • zpp - C++20 framework.

Filesystem

  • fats - Generic FAT/exFAT filesystem module for small embedded systems.
  • littlefs - Little fail-safe filesystem designed for microcontrollers.
  • nffs - Flash file system prioritizing minimal ram usage & reliability.

HAL/PAL

  • cmsis - Standardized API for the Cortex-M processor core and peripherals.
  • libmetal - Abstraction layer across user-space Linux, baremetal, and RTOS environments.

IoT & Cloud

  • Anjay-zephyr - C implementation of the client-side OMA LwM2M protocol.
  • Edge Impulse - Machine learning on edge devices.
  • Golioth - Device Management & cloud enablement platform.
  • Memfault - Cloud-based debugging & observability.
  • openhaystack-zephyr - Track personal Bluetooth devices via Apple's massive Find My network.
  • send-my-sensor - Upload sensor data from a device without internet connection by (ab)using Apple's Find My network.
  • thingset-zephyr-sdk - A software development kit (SDK) based on Zephyr RTOS to integrate communication interfaces using the ThingSet protocol into an application with minimum effort. See https://thingset.io/.
  • zephyrus - A lightweight C library for exposing Prometheus metrics in Zephyr applications.

Languages & Runtimes

  • lispBM - LispBM is a lisp or scheme like programming language for microcontrollers.
  • micropython - a lean and efficient Python implementation for microcontrollers and constrained systems.
  • wasm-micro-runtime - Lightweight standalone WebAssembly (WASM) runtime.

Networking & Protocols

  • BACnet Stack - BACnet open source protocol stack for embedded systems, Linux, and Windows.
  • canopennode - CANopen Stack.
  • civetweb - Embeddable web server.
  • CBOR - Concise Binary Object Representation.
    • tinycbor - Small CBOR library.
    • QCBOR - Comprehensive CBOR library.
    • zcbor - CBOR library that includes support for CDDL.
  • cosy - CBOR Object Signing and Encryption (COSE).
  • greybus-for-zephyr - Protocol for hotpluggable devices.
  • nanopb - Protocol Buffers for Embedded Systems.
  • openthread - Thread mesh networking protocol.
  • pjon - Multi-master, multi-media network protocol.
  • S2OPC - Open-source OPC-UA Toolkit designed with security and embedded devices in mind.

Security

  • aerology - Inspect Zephyr and TF-M applications, post mortem.
  • mbed TLS - C library that implements cryptographic primitives, X.509 certificate manipulation and the SSL/TLS and DTLS protocols.
  • MCUboot - A secure bootloader for 32-bits microcontrollers.
  • TF - M - Platform Security Architecture (PSA) for ARMv7-M and Armv8-M.
  • tinycrypt - Cryptographic library with a minimal set of standard cryptography primitives.

Misc

  • ecfw-zephyr - Embedded Controller for low-level tasks on a motherboard like power sequencing.
  • grbl - Motion control for CNC milling.
  • lvgl - Complete graphics library.
  • lz4 - Extremely Fast Compression algorithm.
  • pinetime-zephyr - Smartwatch operating system.
  • zephyr-rust - API bindings, libstd, and Cargo integration for Rust.
  • linaro_sensor_pipeline - Secure data pipelines.
  • pysvd2dts - Creates a Zephyr Devicetree file from an ARM CMSIS-SVD file.
  • sof - Audio Digital Signal Processing (DSP) firmware infrastructure and SDK.
  • spinner - Motor control firmware based on the Field Oriented Control (FOC) principles.
  • tflite-micro - TensorFlow Lite for Microcontrollers.
  • zbus - Inter thread communication bus.
  • zephyr-usb-midi - This is a USB MIDI 1.0 device class driver for the Zephyr RTOS, which allows sending and receiving MIDI data (including system exclusive messages) over USB.
  • zscilib - Scientific computing library.
  • zcalendar - Calendar API with RTC integration.
  • zmk - Keyboard firmware with a rich featureset and broad hardware support.

Tools

Build & Config

Compilers

Note: the official SDK includes several compilers.

  • GNU Arm Embedded
  • Arm Compiler 6
  • Intel oneAPI Toolkit
  • DesignWare ARC MetaWare Development Toolkit (MWDT)
  • Cadence Tensilica Xtensa C/C++ Compiler (XCC)
  • Espressif tools

Editors & IDEs

Visual Studio Code

Other Editors & IDEs

Flash, Debug & Test

Simulation

Version Control

Open Source Hardware

  • ZMK - ZMK Firmware is an open source (MIT) keyboard firmware built on the Zephyr™ Project Real Time Operating System (RTOS).
  • ZSWatch - The Open Source Zephyr™ based Smartwatch, including both HW and FW.

Videos

Learning Material

Contribute

Contributions welcome! Read the contribution guidelines first.