Introduction
Zephyr is a scalable real-time operating system (RTOS) designed for resource-constrained IoT devices. Hosted by the Linux Foundation, it supports hundreds of boards across ARM, RISC-V, x86, Xtensa, and other architectures, providing a production-grade foundation for connected devices.
What Zephyr Does
- Provides a preemptive multithreading RTOS kernel with deterministic scheduling
- Supports 600+ hardware boards across 15+ CPU architectures
- Includes complete networking stacks (TCP/IP, BLE, Thread, Wi-Fi, LoRa)
- Offers device driver model, power management, and filesystem support
- Provides security features including PSA Certified compliance and TF-M integration
Architecture Overview
Zephyr uses a modular monolithic kernel where subsystems (networking, filesystem, drivers) are compiled in or out based on Kconfig options. The kernel provides threads, semaphores, mutexes, message queues, and memory pools. A device tree system (borrowed from Linux) describes hardware topology. The build system uses CMake with a west meta-tool managing multiple repositories and SDK components.
Self-Hosting & Configuration
- Install via west meta-tool which manages SDK, toolchains, and modules
- Configure hardware features through Devicetree overlays and Kconfig
- Supports GCC, LLVM, and vendor toolchains for cross-compilation
- Debug with OpenOCD, J-Link, or pyOCD through west debug command
- CI-ready with Twister test runner for automated hardware-in-loop testing
Key Features
- Footprint as small as 8KB for minimal kernel configuration
- Certified Bluetooth 5.3 stack with mesh networking support
- Native POSIX port for testing Zephyr applications on Linux without hardware
- LTS releases with 2-year security maintenance windows
- Extensive documentation and samples for rapid prototyping
Comparison with Similar Tools
- FreeRTOS — Simpler kernel; Zephyr offers richer subsystems and networking out of box
- RT-Thread — Popular in China; Zephyr has broader Western industry adoption and LF governance
- Mbed OS — ARM-only and now in maintenance; Zephyr is multi-arch and actively developed
- NuttX — POSIX-focused; Zephyr offers better Bluetooth and device tree integration
- RIOT — Research-oriented; Zephyr is more industry-backed with formal certifications
FAQ
Q: What is the minimum RAM required for Zephyr? A: A minimal Zephyr kernel can run in as little as 8KB RAM, though typical IoT applications use 64-256KB.
Q: Does Zephyr support Wi-Fi? A: Yes. Zephyr supports Wi-Fi on chips like ESP32, nRF70, and others through its native networking stack.
Q: Can I run Zephyr without hardware? A: Yes. The native_posix and QEMU boards let you develop and test on your Linux workstation.
Q: Who uses Zephyr in production? A: Members include Intel, Nordic Semiconductor, NXP, Google, Meta, and many IoT product companies.