Embedded and IoT operating systems

A recent XDA feature counted seven operating systems quietly running inside the average home, from the thermostat firmware to the router to the smart-plug controller, and the writer had a point most developers ignore. The OSes on a laptop and phone get all the press; the ones running everything else in the house get almost none. If you are building a smart-home device, an ESP32 project, or a hobby router, the seven embedded and IoT operating systems on desktop below cover almost every real workload. All development tooling runs on Windows and Linux; the target device is whatever silicon you are flashing.

What to look for in an embedded OS

The evaluation questions worth answering before locking in an RTOS:

Quick comparison

OS Best for Kernel License Min flash RAM
FreeRTOS Small MCUs, industrial control RTOS MIT 4 KB 500 B
Zephyr Project Modern IoT, Matter, Thread RTOS Apache 2.0 8 KB 2 KB
Contiki-NG Low-power wireless, LoRa RTOS BSD 30 KB 10 KB
RIOT OS Academic + hobbyist IoT RTOS LGPL v2.1 5 KB 1.5 KB
Mbed OS Arm Cortex-M, quick prototyping RTOS Apache 2.0 20 KB 4 KB
NuttX POSIX-compliant embedded RTOS Apache 2.0 32 KB 8 KB
OpenWrt Routers, edge gateways Linux GPL 4 MB 32 MB

The apps

1. FreeRTOS, the everywhere kernel

FreeRTOS is the RTOS most people already have running on something in their house, and they do not know it. AWS acquired it in 2017 and rebranded it FreeRTOS Kernel, then folded in AWS IoT integration. Runs on almost every 32-bit MCU worth caring about (ARM Cortex-M, Xtensa, RISC-V) and a lot of 8-bit and 16-bit chips.

Where it falls short: No native networking (bring your own stack, usually LwIP). The kernel is minimalist; you assemble the rest.

Pricing:

Platforms: ARM Cortex-M/-A/-R, ARM7/9, Xtensa, RISC-V, MSP430, AVR, and dozens more.

Download: FreeRTOS | GitHub

Bottom line: The safe default for any bare-metal-plus-scheduling project on a small MCU.

2. Zephyr Project, the modern IoT choice

Zephyr is the Linux Foundation’s answer to the fragmented RTOS space. Modular, actively developed, with first-class Matter, Thread, and BLE support out of the box. The device tree overlay pattern makes porting one firmware to five boards a config-file exercise rather than a rewrite.

Where it falls short: The learning curve is steeper than FreeRTOS. West (Zephyr’s meta-tool) has its own ergonomics you have to internalize.

Pricing:

Platforms: ARM Cortex-M/-A/-R, Xtensa, RISC-V, x86, ARC.

Download: Zephyr | GitHub

Bottom line: The right pick if you are shipping a modern IoT product in 2026, especially with Matter support.

3. Contiki-NG, the low-power wireless specialist

Contiki-NG is the fork of the classic Contiki with modern wireless focus. IPv6, 6LoWPAN, RPL, and CoAP built in. If your project is a battery-powered mesh (LoRa, 802.15.4), Contiki-NG’s networking stack is genuinely better than any other RTOS here.

Where it falls short: Smaller developer community than Zephyr or FreeRTOS. Fewer commercial vendor tools.

Pricing:

Platforms: TI CC26xx, nRF52, native (for simulation).

Download: GitHub

Bottom line: Best pick for battery-powered mesh sensors. Otherwise Zephyr.

4. RIOT OS, the academic-turned-practical choice

RIOT started as a research project in Berlin and grew into a real production RTOS. Very small footprint (kernel fits in 5 KB), IPv6/6LoWPAN native, and the API is closer to standard POSIX than most RTOSes here. Popular in universities, increasingly showing up in commercial IoT.

Where it falls short: LGPL v2.1 license matters for closed-source commercial products. Read the terms before shipping.

Pricing:

Platforms: ARM Cortex-M, MSP430, AVR, x86, RISC-V, ESP32.

Download: RIOT OS | GitHub

Bottom line: Solid pick for hobby and open-source IoT. Check the LGPL implications for commercial firmware.

5. Mbed OS, the Arm-flavored option

Mbed OS is Arm’s official RTOS. Best-in-class support for Cortex-M silicon, direct integration with Arm Keil MDK and Arm Compiler, and a huge library of vendor-supported drivers. Arm scaled back active development in 2024, so pace has slowed, but the shipped code base is solid.

Where it falls short: Development pace slowed. Not future-proof for new silicon families outside Arm.

Pricing:

Platforms: ARM Cortex-M.

Download: GitHub

Bottom line: Fine for existing Cortex-M projects. For a new project in 2026, Zephyr is the safer long-term bet.

6. NuttX, the POSIX-compliant RTOS

NuttX ships a POSIX and ANSI-standard API that lets you compile Linux-like C code with almost no changes. If you want a small RTOS that feels like a small Linux (fork, exec, pthreads, standard sockets), this is it. Sony Semiconductor uses it in some of its imaging chips; ArduPilot uses it for drone flight controllers.

Where it falls short: Bigger footprint than FreeRTOS. Smaller silicon support matrix than Zephyr.

Pricing:

Platforms: ARM Cortex-M/-A/-R, Xtensa, RISC-V, AVR, MSP430, x86, PIC32.

Download: Apache NuttX | GitHub

Bottom line: Pick this if you want an RTOS but code like it is Linux. Popular in the drone community.

7. OpenWrt, the router-and-gateway Linux

OpenWrt is a Linux distribution for embedded devices with enough RAM to run a real kernel, not an RTOS. It runs on routers, edge gateways, LTE modems, and industrial computers. If you are replacing your consumer router’s stock firmware or building a smart-home gateway, this is what runs on top.

Where it falls short: Not an RTOS. Cannot compete on the sub-100-KB footprint end of the market.

Pricing:

Platforms: MIPS, ARM Cortex-A, x86, RISC-V.

Download: OpenWrt | GitHub

Bottom line: The default upgrade for any router you own, and the base OS for hobby-level home gateways.

How to pick the right one

FAQ

What is an embedded operating system?

An OS designed for a specific device with tight resource limits, running a single dedicated firmware rather than user-installed apps. Your thermostat, router, and smart plug each run one.

What is the difference between an RTOS and Linux?

An RTOS (real-time OS) offers deterministic timing guarantees and runs in kilobytes. Linux offers rich features and runs in megabytes. Choose based on your hardware and timing needs.

Which RTOS supports Matter?

Zephyr has first-class Matter support and is the reference implementation for many Matter certifications. Contiki-NG and OpenThread (usable with FreeRTOS) also support the Matter stack.

Can I use FreeRTOS commercially?

Yes. FreeRTOS is MIT-licensed. Ship it in commercial products without royalty or attribution obligations beyond the license text.

What runs on an ESP32?

FreeRTOS is the default (ESP-IDF is built on it). Zephyr, NuttX, and RIOT also have ESP32 ports. Arduino Core for ESP32 wraps FreeRTOS with the Arduino API.