Simulate whole PCBs
with firmware-in-the-loop
Upload the schematic/netlist, BOM and firmware. HardLabs builds a simulator of your board and runs the real firmware against it.
Design files
- NETatmos.netKiCad netlist
- BOMatmos-bom.csvBill of materials
- ELFatmos_fw.elfFirmware · 412 KB
Board model
- Read design
- Build board model
- Attach part models
- Run firmware
How it works
See it work on our demo board
Start the board, plug in USB-C, drop it, heat it and talk to its firmware. In the browser, or from your terminal with GDB attached.
What bugs does this find?
Catch an I²C timing violation in software
Replay the bus trace, inspect timing margins, and fail the firmware run when SCL violates the peripheral's contract.
Caught 4 weeks before fab on a design-partner board
- SPI1ICM-42688-P WHO_AM_I0x47
- SPI2BMP280 chip id0x58
- I²C1DPS368 SCL t_HIGH0.42 µs
- SPI3W25N01GV JEDEC idEF AA 21
Headless in CI
From schematic to CI
Regression-test firmware against the simulated board on every commit.
- boot sequencequeued
- spi1 WHO_AM_Iqueued
- i2c1 SCL t_HIGHqueued
- spi3 chip idqueued
Design-partner program
Send us your design. We'll send you a simulator.
Send schematic, netlist, BOM and firmware. We build a working board simulator you can run, debug and put in CI.
- schematic / netlist
- BOM
- firmware image
- working board simulator
- peripheral models
- setup that runs your firmware
- CI integration (pilot scope)
Board gallery
Real hardware, before you build yours.
28,842 open source boards from GitHub, each read from its KiCad files: the processor, the parts list and the board itself. Find the one closest to your design and run your firmware on it in simulation, weeks before your PCB arrives.
View base
scottbez1
81.2 × 81.2 mm81 parts2LApache-2.022.2kRaspberry Pi
Open source rover
nasa-jpl
220 × 178 mm144 parts2LApache-2.09.7kESP32
Open Book Abridged Edition
joeycastillo
85 × 115 mm65 parts2LCC-BY-SA-4.08.1kRP2040/RP2350
Corne
foostan
277.2 × 107.5 mm164 parts2LCC-BY-4.07.7kAnalyzerBoxPCB fork
gusmanb
52.7 × 47.9 mm54 parts4LGPL-3.05.0kChainlinkDriverTester
scottbez1
198.1 × 95.3 mm123 parts2LApache-2.04.2k
FAQ