LabWired The easy way to build hardware
Blog & Whitepapers

Notes from building LabWired.

How we simulate firmware, test it without hardware, and keep embedded CI deterministic.

🔗

Running a full IO-Link master with no hardware

Three virtual STM32L476s — a real iolinki master stack driving two real device stacks over the C/Q wire — run the full master service surface (ISDU, cyclic PD, events, data storage) plus the fault paths. Live in your browser, gated in CI, nothing mocked.

Engineering · ~4 min

🔌

Running a full ECU diagnostic check with no hardware

Two virtual STM32H5s and a virtual CAN bus run a real, unmodified udslib ISO-14229 stack through all 27 UDS services — headless, in CI. Plus the four emulator decoder bugs it surfaced, validated against real silicon.

Whitepaper · ~5 min

🐛

Catching a CAN bug that only shows up on real hardware — with LabWired

A multi-frame UDS bug that wouldn't reproduce in any test and only appeared on a real STM32F103 — an ISO-TP N_Cr clock-source mismatch — reproduced, debugged, and fixed in LabWired without ever touching the silicon.

Whitepaper · ~6 min

🖼️

Render your Arduino e-paper firmware — without the board or the panel

Build a real GxEPD2 e-paper sketch with PlatformIO. The same firmware.elf boots in the LabWired simulator and paints the panel — in your browser.

Tutorial · ~6 min

🧪

Run your PlatformIO unit tests without hardware — or anything installed

Wire pio test into the LabWired simulator with a few lines of platformio.ini and run your firmware unit tests without a board.

Tutorial · ~6 min

👻

The Ghost in the CI: why embedded tests flake and how to stop it

Priority inversion sank Mars Pathfinder, and the same class of timing bug is what flakes embedded CI today. A case for deterministic execution.

Whitepaper · ~5 min