RISC-V and Zephyr RTOS

RISC-V and Zephyr RTOS
RISC-V SERIES

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

ApproachWhat you getBest for
Bare metalTotal control, smallest footprint, everything is your problemSimple, fixed-function devices with no networking
FreeRTOSLightweight scheduler and primitives, minimal overhead, add your own stacksSmall real-time tasks where you supply the rest
ZephyrFull kernel, networking stack, security, OTA, driver model, one codebase across chipsConnected, 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.

The RISC-V and Zephyr stack Your application firmware MQTT CoAP / LwM2M Thread / Matter BLE ZEPHYR RTOS Networking stack, TLS, OTA update, secure boot Kernel: scheduler, threads, memory protection (PMP, user mode) Devicetree + Kconfig hardware abstraction and driver model RISC-V core + peripherals + radioOne codebase from the silicon up, portable across RISC-V, Arm and Xtensa.

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.