Renode board simulation from your netlist

Adam Szefer · Co-founder & CTOUpdated July 23, 2026

Prev. Bloomberg · Gyfted. Systems and simulation infrastructure — the engine that runs your firmware against the circuit.

Renode is excellent at running Cortex-M firmware. The painful part is keeping a board description synchronized with the schematic. HardLabs generates that description from the design of record and refuses to silently drop chips it cannot model.

Why hand-written .repl files drift

Every ECO reshuffles buses and chip-selects. A platform file maintained by hand becomes fan fiction of last quarter’s schematic. Generating from the netlist + BOM keeps attachments tied to the files you already review in PRs.

What generation emits

A board .repl with the MCU platform include, peripheral attachments for I²C/SPI devices that have catalog models, and an honest gap list for everything else. Missing models are actionable (datasheet extract), not invisible holes.

Example attachment lines (generated)
using "platforms/cpus/stm32f4.repl"

u4_bmp280: HIP.BMP280 @ spi3
    Cs => gpioPortA@15

// Gaps (not attached):
// U3 W25N01GVZEIG — matched catalog model W25N01GV after MPN stem resolve

Loading in Renode

Include the compiled peripheral classes, create the machine, load the platform description. If a model is missing, fix the gap first — a green load with silent omissions is worse than a failed generate.

Monitor sketch
(monitor) include @compiled/BMP280.cs
(monitor) mach create
(monitor) machine LoadPlatformDescription @board.repl
(monitor) sysbus LoadELF @firmware.elf
(monitor) start

FAQ

Does this replace writing Renode peripherals?
For catalog parts, yes — we compile behavioral models from datasheets. Custom ASICs still need model work; the generator will flag them.

HardLabs

What HardLabs does — join the design-partner pilot

We build a digital twin from your netlist, schematic, and BOM, run your real firmware against it, and fail CI when pinmux, buses, or timing contracts break — weeks before bring-up on hardware.

  • A digital twin of your hardware, built from your netlist, schematic, and BOM.
  • A virtual lab: scopes, logic analyzers, and firmware debuggers in simulation.
  • Auto-flagging of power-sequence errors, output contention, and race conditions.

Pilot details · App

Related

  • Firmware-in-the-loop

    Firmware-in-the-loop against your netlist — not stubs. Run unmodified .elf images on MCU simulation with board-aware I²C/SPI models and CI assertions.

  • KiCad → simulation

    Take a KiCad netlist into firmware-in-the-loop simulation. Overlay the BOM, generate a Renode-oriented board platform, and test drivers before fab.

  • Altium → simulation

    Simulate firmware against Altium-designed connectivity before fab. Use design-of-record exports — not a hand-maintained virtual shield.

  • HardLabs vs Renode
  • INA219 model

All topics