An open core deserves an open operating system
RISC-V and Zephyr is one of those pairings that looks obvious once you see it. You have picked an open, vendor-neutral instruction set, so it makes a certain sense to run an open, vendor-neutral RTOS on top of it. Zephyr has supported RISC-V since almost the beginning, and it is what turns a bare core into a connected device.
You picked the core, now something has to run on it
A RISC-V microcontroller straight out of the reel does nothing useful. It is a core, some peripherals and, if you are lucky, a radio. What makes it a product is the software layer you put on top, and for anything beyond a blinking LED that means one of three things: bare-metal code you write and maintain yourself, a lightweight kernel like FreeRTOS, or a full RTOS like Zephyr.
For simple, single-purpose devices, bare metal is fine and FreeRTOS has kept the embedded world ticking for years. But the moment your device needs networking, security, over-the-air updates and the ability to move to a different chip next year without a rewrite, the calculation changes. That is the territory Zephyr was built for, and it is where the RISC-V conversation keeps landing.
Two open projects built for each other
Zephyr is a Linux Foundation project, released under Apache 2.0, backed by the likes of Intel, Nordic, NXP and Renesas, and running on more than 750 boards across a spread of architectures. RISC-V has been one of them since 2017, with Antmicro picking up the lead maintainer role for the port in 2018. This is not a bolt-on or an afterthought, it is a first-class target with years of production use behind it.
The fit is more than practical, it is temperamental. Both projects are vendor-neutral, community-governed and allergic to lock-in, which is precisely the reason people reach for RISC-V in the first place. Choosing a proprietary RTOS to sit on an open ISA would rather undercut the point. The two communities know it too, having jointly produced a RISC-V getting-started guide built around Zephyr and Linux.
What Zephyr actually gives you
Underneath, Zephyr describes its hardware through Devicetree and configures features through Kconfig, both lifted straight from the Linux playbook. In plain terms, the chip-specific details live in data files, not scattered through your application, so you compile in only the features you need and swap the board underneath without touching your logic. That is the mechanism behind the point made in the RISC-V vs Arm for embedded systems piece: a well-abstracted RTOS is what makes the ISA choice reversible.
It scales, too. The same RTOS runs on a coin-cell sensor with kilobytes of RAM and on a far beefier part driving a gateway, because you only pay for the subsystems you switch on. Security is built in rather than bolted on, with memory protection, thread isolation and user mode, all of which map neatly onto RISC-V’s own physical memory protection hardware.
The portability is the point. Because Zephyr abstracts the silicon through Devicetree and a common driver model, the same application code runs on RISC-V, Arm or Xtensa. Your investment goes into the firmware, not into a specific vendor’s chip, which is the whole argument for going open in the first place.
Bare metal, FreeRTOS or Zephyr
| Approach | What you get | Best for |
|---|---|---|
| Bare metal | Total control, smallest footprint, everything is your problem | Simple, fixed-function devices with no networking |
| FreeRTOS | Lightweight scheduler and primitives, minimal overhead, add your own stacks | Small real-time tasks where you supply the rest |
| Zephyr | Full kernel, networking stack, security, OTA, driver model, one codebase across chips | Connected, updatable, multi-chip product lines |
None of these is wrong. The question is how much of the plumbing you want to own yourself, and how many different chips you expect this firmware to run on over its life.
From bare core to connected device
This is where Zephyr earns its place in an IoT design. Its networking stack ships with BSD sockets, TCP and UDP over IPv6, TLS, and the protocols that connected products actually speak: MQTT and MQTT-SN for telemetry, CoAP and LwM2M for constrained device management, plus a full Bluetooth Low Energy stack. For mesh, it incorporates OpenThread as a module, and its support for the Matter SDK puts it squarely in reach of the smart-home standard, a thread picked up in RISC-V and Matter smart home devices.
Put that together and the path is short. A RISC-V core with an 802.15.4 or Wi-Fi radio, Zephyr on top, and you have a device that joins a Thread mesh or publishes to an MQTT broker without you writing a protocol stack from scratch. That is the difference between a chip and a product.
Where it fits, and where you outgrow it
Zephyr’s sweet spot is the microcontroller class: the sensors, controllers and radio nodes where you want an OS but do not have the memory or the need for a full Linux. That covers a large slice of RISC-V IoT silicon, from the cost-optimised parts up to the mid-range.
There is a ceiling, though, and it is worth knowing where it sits. Once a device needs a full filesystem, a package manager, containers or a rich application environment, you have crossed out of RTOS territory and into RISC-V and embedded Linux. The good news is that the two are a continuum, not a cliff, and the same open, vendor-neutral logic that makes Zephyr sensible on RISC-V applies just as well one rung up. For how the whole picture ladders together, the RISC-V and IoT cornerstone is the place to start.
Last updated 23 August 2026. Sources: Zephyr is a Linux Foundation project under Apache 2.0, first released 2016, latest release 4.4.0 (April 2026), running on 750-plus boards across multiple architectures per the Zephyr Project; RISC-V supported since 2017 with Antmicro as lead maintainers of the port since 2018; networking stack including MQTT, CoAP, LwM2M, OpenThread and Matter SDK support per Zephyr Project documentation.



