
Renode
Antmicro’s simulator for embedded hardware: it runs unmodified firmware on virtual boards, CPUs, peripherals and the wired or wireless links between them, so firmware can be tested in CI without devices.
- What it is
- Local cloud emulators
- Used for
- Automated testing
- Type
- Open source
- Made by
- Antmicro
- License
- MIT (its CPU translation library, tlib, is derived from QEMU and is LGPL 2.1)
- Facts checked
- 24 October 2026
What it is
Renode is a hardware emulator, not a cloud API emulator: what it fakes is the board your firmware runs on. A platform is described in a text file (.repl) that places a CPU, memory and peripheral models such as UARTs, timers, GPIO, I2C sensors and radios at their bus addresses. You load the same ELF file you would flash, start the machine, and the firmware boots: Zephyr, Contiki, U-Boot or Linux, on Arm Cortex-M, -R and -A, RISC-V, x86, SPARC, POWER, Xtensa or MSP430X. Instructions are translated by tlib, a library derived from QEMU’s code, and the peripherals are models in Renode’s .NET codebase. Antmicro lists more than 1,200 supported boards and 800 peripheral models.
It is built for more than one device. Several machines can run in one emulation, joined by simulated wired or wireless links, and a virtual clock keeps them in step: time advances in quanta, and between quanta the nodes exchange data, so a mesh of Bluetooth LE or Thread devices behaves the same on every run. You drive it from the Monitor, an interactive console, or from .resc scripts, and you can attach GDB to any CPU. For tests, Renode ships a Robot Framework keyword library: renode-test starts a headless instance, runs .robot files that load firmware, wait for lines on a UART or press virtual buttons, and writes reports for CI. A GitHub Action, Docker images and portable packages make it easy to run on CI runners.
Renode is MIT-licensed and needs .NET 6 or newer; portable packages for Linux, macOS and Windows bundle the runtime. It can also co-simulate hardware still under design, by connecting HDL models in Verilator, Questa or VCS, or SystemC models, to the emulated system. Antmicro develops it and sells modelling work and support around it. The latest release is 1.17.0, from September 2026.
Why teams pick it
- Runs the same binaries you flash to the device, so tests exercise real drivers and the real OS rather than a host-compiled build
- Multi-node systems on one virtual clock: networked and wireless devices can be tested together, with the same timing on every run
- Made for CI:
renode-testwith Robot Framework, a GitHub Action, Docker images and snapshots of failed tests - Models are text and C#: a new board is often a
.replfile that reuses existing CPUs and peripherals
Watch out for
- A functional simulator, not a cycle-accurate one: it shows what the firmware does, not exact timing or power use
- Peripheral support varies by chip; the docs warn that your board may need its description or models extended, which Antmicro sells as a service
- Needs the .NET runtime, and the Python-based test tooling needs Cygwin on Windows
- It emulates hardware, not cloud services: it won’t stand in for AWS or Azure APIs the way cloud emulators do
Alternatives
What all local cloud emulators have in common →Compare side by side →
FlociOpen sourceA young, MIT-licensed family of local emulators for AWS, Azure, Google Cloud and Oracle Cloud, built as a free drop-in for LocalStack and pitched at AI coding agents.
LocalStackCommercialThe best-known AWS emulator: one Docker container that answers more than 100 AWS APIs on localhost:4566, now free only for non-commercial use.workerd runtime and fakes the platform around it: KV, R2, D1, Durable Objects, Queues, the Cache API and more.How it fits with other technologies
zephyr_shell.robot: boot Zephyr on a virtual nRF52840 and talk to its shell · text
*** Settings ***
Suite Setup Setup
Suite Teardown Teardown
Test Teardown Test Teardown
Resource ${RENODEKEYWORDS}
*** Test Cases ***
Zephyr Shell Should Answer On UART
Execute Command mach create
Execute Command machine LoadPlatformDescription @platforms/cpus/nrf52840.repl
Execute Command sysbus LoadELF @https://dl.antmicro.com/projects/renode/renode-nrf52840-zephyr_shell_module.elf-gf8d05cf-s_1310072-c00fbffd6b65c6238877c4fe52e8228c2a38bf1f
Create Terminal Tester sysbus.uart0
Start Emulation
Wait For Prompt On Uart uart:~$
Write Line To Uart demo ping
Wait For Line On Uart pong
# $ renode-test zephyr_shell.robot (writes log.html, report.html, robot_output.xml)See it in a real stack
No architecture uses Renode yet. Drop it into the playground and wire it up yourself.Open playground →Where it came from2017–2026
Antmicro, an embedded-systems company, kept seeing the same problems in IoT projects: development setups that were hard to reproduce across a team, “lack of repeatability, obscurity of the execution environment”, and debugging that got much harder once several cores or devices were involved. It built Renode as an internal tool to design and test such systems, emulating whole SoCs so unmodified binaries could run on virtual devices instead of flashed boards.
On 17 August 2017 Antmicro released Renode as open source, presenting it as a framework for building, debugging and testing software for multi-node device systems. It was already used with the Zephyr Project for a CI environment that tested Zephyr’s networking stack, and integrated with Robot Framework, Jenkins and GitLab CI. Renode 1.1 added Windows in November 2017, alongside Linux and macOS packages.
Support kept growing. Renode 1.14 in September 2023 brought ARMv8-A and Cortex-R52 support plus co-simulation with HDL simulators such as Verilator and Questa. Antmicro also runs continuously updated dashboards that test Zephyr and U-Boot on its supported boards in Renode, and worked with Silicon Labs on 2.4 GHz radio simulation for Bluetooth LE, Zigbee, Thread and Matter meshes. Version 1.17.0 shipped in September 2026.
Why it’s built this way
- Emulate whole SoCs and boards, not just CPUs
- Firmware talks to timers, UARTs, sensors and radios. Without models of them, the same binary that ships on the device can’t run, and tests would need special builds.
- Several machines on one deterministic virtual clock
- Bugs in IoT systems often appear only when devices talk to each other. Synchronising nodes in time quanta makes multi-node runs repeatable, which real radios on a desk are not.
- Robot Framework as the test interface
- Hardware tests mostly read like “wait for this line, press this button, expect that reply”. A keyword-driven framework lets those tests run unattended in CI and produce readable reports.
Timeline
- 2017
Released as open source by Antmicro in August; Windows support in 1.1 in November
- 2023
Renode 1.14 adds ARMv8-A, Cortex-R52 and HDL co-simulation
- 2025
Renode 1.16.0 in August
- 2026
Renode 1.17.0 in September
- Antmicro press release: Renode, an open source framework for scalable development of complex IoT systems (Aug 2017)
- Antmicro blog: Renode 1.1 released (Nov 2017)
- Antmicro blog: Renode 1.14 with ARMv8 support and improved co-simulation (Sep 2023)
- Antmicro: Renode platform page (dashboards, Silicon Labs wireless, co-simulation)
- GitHub: Renode v1.16.0 release (Aug 2025)
- GitHub: Renode v1.17.0 release (Sep 2026)
Sources15 · facts checked 24 October 2026
- Renode on GitHub: README (architectures, MIT licence, .NET 6, packages, Docker)
- Antmicro: Renode platform page (boards, peripherals, co-simulation, support)
- Renode docs: Using Renode (Monitor, .resc scripts)
- Renode docs: Describing platforms (.repl files)
- Renode docs: Time framework (virtual time, quanta, synchronisation)
- Renode docs: Testing with Renode (Robot Framework, renode-test, CI mode)
- Renode docs: Supported boards (models may need extending)
- Renode on GitHub: nRF52840 platform tests (Zephyr shell over UART)
- Renode on GitHub: nrf52840.resc demo script
- Renode on GitHub: stm32f4_discovery.resc (runs Contiki)
- Antmicro tlib: LICENSE (based on libqemu, LGPL)
- Antmicro blog: RISC-V co-design with Renode and TBM (functional, not cycle-accurate)
- GitHub: antmicro/renode-test-action
- Renode on GitHub: LICENSE (MIT)
- GitHub: Renode v1.17.0 release (Sep 2026)