Renode Open source

Accelerate your development lifecycle with Renode simulation and our tailored services

Antmicro helps customers adopt and extend Renode to build complex systems faster, and without the need for physical hardware: from platform enablement, peripheral modeling and CI systems, to testing infrastructure, custom features and integrations.

Framework

Renode

Renode is Antmicro's open source development framework for emulating complex computer systems, including CPUs, peripherals, sensors, interconnects and whole multi-node systems. It enables product development teams, silicon teams and hyperscalers to work in absence of physical silicon, automate regression testing and speed up hardware/software co-development.

Ecosystem

A broad, continuously validated ecosystem

1200+

boards supported

Validated through CI-driven Zephyr and U-Boot testing infrastructure

12+

CPU architectures supported

Including ARM, RISC-V and x86

800+

peripheral models

Available out-of-the-box

Use Cases

Explore where Renode is used

From simulating complex heterogeneous SoCs and advanced multi-node systems, through pre-silicon and hardware/software co-development, to interactive testing and CI workflows - Renode supports the entire development process.

Silicon teams

For teams building and validating complex silicon platforms and accelerator ecosystems

Pre-silicon prototyping visual

CPU
RTC
SRAM
FLASH
UART
I2C
GPIO

Pre-silicon prototyping

Early firmware and driver development before hardware availability through virtual system execution and ability to run unmodified binaries on target platforms.

Post-silicon system validation visual

Post-silicon system validation

Scalable testing of complex hardware-software stacks using execution tracing and observability tooling for debugging real-world system behavior.

Reference system development visual

Serial interfaces

STM32 UART

uart_echo.resc

Sensor models

BME280 I²C Sensor

weather_station.resc

Storage

W25Q32 SPI Flash

flash_test.resc

Reference system development

Development of reusable proof-of-concept and reference implementations for heterogeneous multi-core systems and complex multi-node systems.

Developer enablement visual

IDE
main.c
1public void greet (UART *uart)
2{
3char *str = "Hello, World!";
4size_t length = strlen(str);
5 
6for (size_t i = 0; i < length; i++) {
7uart->DATA = (uint8_t)str[i];
8}
9}
Traces
TotalSelfSymbol
4,814 (32%) 421 (2.8%) z_sys_init_run_level
4,432 (29%) 912 (6%) vfprintf
3,493 (23%) 3,493 (23%) arch_early_memset
1,785 (12%) 1,785 (12%) uart_stm32_poll_out

Developer enablement

Enabling developers to build on top of hardware platforms through virtual development environments, CI flows, as well as integrating with external IDEs and tools.

In collaboration with Silicon Labs, we implemented simulation support for 2.4GHz multi-protocol radio interfaces within Renode for the wireless Gecko Series 2 SoCs - allowing teams to validate BLE, Zigbee, Thread and Matter mesh topologies before hardware is available.

Read blog post
Product development

For teams building products and embedded systems at scale

System-on-chip evaluation

Standard SoC Custom RISC-V Core Low-power Arm SoC
Radar chart comparing standard, custom RISC-V and low-power Arm SoC platform evaluation metrics: Performance standard 62, custom RISC-V 92, low-power Arm 72; Cost-efficiency standard 84, custom RISC-V 70, low-power Arm 88; Connectivity standard 64, custom RISC-V 96, low-power Arm 78; Energy-efficiency standard 82, custom RISC-V 76, low-power Arm 96; Security standard 58, custom RISC-V 90, low-power Arm 74.

Architectural exploration and platform evaluation

Early stage evaluation of hardware platforms and system architectures for validating architectural decisions.

Pre-production development board
UART0

*** Booting Zephyr OS ***

Hello World!

Early software development on pre-production hardware

Software development on virtual hardware environments, enabling system integration before production-grade hardware is available.

Hardware-in-the-loop prototyping

Hybrid virtual and physical testing environments enabling software development and debugging of prototype setups.

Renode system integration environment connecting firmware, peripheral models, networks, CI automation and AI workload validation.

System integration and pre-release testing

End-to-end validation of hardware and software integration with system-level observability and testing workflows prior to production release.

To enable thorough testing of multi-node automotive setups, we added Renode support for the Toyota RAMN - an open source testbed for simulating a multi-node STM-based system communicating over the CAN/CAN-FD network. With Renode support, RAMN can be used without the physical PCB, and also connect to the open source automotive simulator, CARLA, to aid co-simulated development by interacting with the virtual RAMN device controlling a vehicle in the simulator replicating real-world conditions.

Read blog post
Toyota RAMN connected to the CARLA driving simulator
Workflow

How Renode works

[ 01 ]

Model your hardware in a virtual environment

Assemble your platform using reusable plug-and-play building blocks, or build your bespoke setup from the ground up.

Renode workspace

platform

workspace

▾ renode/

nrf52840.resc

firmware.elf

tests.robot

nrf52840.resc virtual SoC

mach create

include @platforms/cpus/nrf52840.repl

sysbus LoadELF @firmware.elf

CPU
UART
I2C
GPIO

system bus connected

[ 02 ]

Develop and run your software before physical devices are available

Run unmodified target software before physical hardware is available, enabling parallel hardware and software development.

Renode workspace

run

Single firmware run · UART0 running

Loading: firmware.elf

(monitor) start

Starting emulation…

*** Booting Zephyr OS build v4.x.x ***

[00:00:00.018,000] <inf> app: Running on Renode

uart:~$

PLATFORM

configured

IMAGE

loaded

EMULATION

running

[ 03 ]

Test and validate in CI/CD

Integrate simulation into CI/CD pipelines to perform repeatable testing, catch regressions early and accelerate development lifecycles.

Renode workspace

test

Regression test suite · 4 tests
test caseelapsedresult
UART boot banner 1.24 s pass
GPIO state test 2.08 s pass
Network packet test 3.61 s pass
Snapshot restore 4.12 s pass
host time 4/4 tests passed
Integrations

Bring Renode into your existing workflows and extend to new use cases

Hardware Hardware & Software co-simulation
Development IDEs & development
CI & testing CI & test automation
Simulators Real-world dynamics simulators
Verilator
Questa
VCS
SystemC
FPGA FPGA hardware emulation
VS Code
Arduino IDE
Eclipse
GitLab
GitHub Actions
Robot Framework
Travis
Jenkins
CircleCI
CARLA
ROS 2
Kenning
Zephyr and U-Boot Dashboards

Supporting platforms at scale

Explore the continuously updated Renode-driven dashboards for platform support, test results and CI validation across Zephyr and U-Boot.

All boards (1609)

Board
Hello World
Philosophers
Shell Module
TensorFlow Lite Micro
MicroPython
arc 20
arm32 1113
96Boards Aerocore2
passedpassedpassedpassedpassed
96Boards Argonkey
passedpassedpassedpassedpassed
96Boards Avenger96
passedpassedgeneratedpassednot built
96Boards Carbon [soc: nrf51822]
passedpassedpassedpassedpassed
96Boards Carbon [soc: stm32f401xe]
passedpassedpassedpassedpassed
96Boards Meerkat96 [variant: m4]
passedpassednot builtnot builtnot built
96Boards Neonkey
passedpassedpassedpassedpassed
96Boards Nitrogen
passedpassedpassedpassedpassed
96Boards STM32 Sensor Mezzanine
passedpassedpassedpassedpassed
96Boards WisTrio
passedpassedpassedpassedpassed
aconno acn52832
passedpassedpassedpassedpassed
See more on the Zephyr Dashboard
Services

How we can help

Antmicro provides enterprise support around Renode: enabling new silicon, modeling complex heterogeneous systems, adding peripherals and integrating simulation into CI, testing, modeling and tooling pipelines.

Full system development in Renode simulation environment

Early firmware and driver development before hardware availability, through virtual system execution and ready-to-use customized models.

Implementing new platforms and peripherals

Model CPUs, boards and custom hardware for fast bring-up, ecosystem examples and product-scale automation.

Custom tools, integrations and user interfaces

Integrate Renode with dashboards, CI systems, trace tooling and workflows already used by your engineering teams and users.

CI infrastructure and automated testing environments

Build scalable testing environments that exercise embedded systems through scripted scenarios, deterministic runs and regression suites.

Work with us to integrate Renode into your development workflows, adapt it to your specific use case, and shift-left your development lifecycle.