Deterministic
Same firmware, same cycle-exact result every run. No cable jitter, no power noise, no "ghost bugs" that vanish under the logic analyzer. Race conditions reproduce in CI.
Design circuits, run firmware, compare variants, and inspect the result in Playground before building a physical board.
MCP gives agents tools to assemble embedded systems from reusable hardware blocks.
LabWired Core is the engineering source of truth. Open the Playground to see
the circuit run, then use the Rust core for result.json, UART,
GPIO, and VCD CI evidence.
The agent starts from boards, MCUs, sensors, displays, buttons, buses, and wires.
MCP validates the diagram, pin functions, buses, and generated system.yaml.
Run the visual simulation in Playground first. The Rust core records result.json, UART, GPIO, and VCD evidence for CI.
The same validated system can move from Playground review to Rust-backed CI evidence.
No local install. Connect once, then ask Claude, Cursor, Continue, or ChatGPT to build and validate virtual hardware through the LabWired engine. Playground opens when you want to watch or review the result.
https://api.labwired.com/mcp
Try: "Connect LabWired, build a virtual STM32 LED circuit in the engine, validate it, and open the Playground watch URL."
claude mcp add labwired -- npx -y @labwired/mcp
Same firmware, same cycle-exact result every run. No cable jitter, no power noise, no "ghost bugs" that vanish under the logic analyzer. Race conditions reproduce in CI.
~6,000× wall-clock speedup. A 30-minute regression suite runs in seconds. Spawn 50 concurrent jobs across variants. No queueing for the one rig in the lab.
Every run produces JSON result + VCD trace + UART log + cycle-by-cycle PC history. Attach to bug reports. Diff traces between commits to find regressions instantly.
Each lab is a cycle-accurate firmware running in your browser. See the PC counter, live cycles, and UART output as it executes — across multiple chip families.
Compile locally with your existing toolchain. Drop your firmware binary into the Playground via the Upload button. Works across every supported SoC family — STM32, RP2040, ESP32, nRF52, and more.
Choose from 10 starter labs, or upload your own compiled firmware. The simulator loads the matching chip + system YAML.
Drag I²C / SPI / UART / Analog devices from the palette. Every wire connects to a real, register-level peripheral model in our Rust core.
Watch the program counter, live cycles, UART log. Every byte is deterministic — re-run produces the exact same trace.
Drop the GitHub Action into any repo. Get JSON + JUnit artifacts for every commit. Run unlimited parallel jobs across hardware variants. No rigs, no cables, no flaky tests.
Explore LabWired CI →name: Firmware Regression
on: [push]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: cargo build --release \
--target thumbv7m-none-eabi
- uses: w1ne/labwired/.github/actions/labwired-test@main
with:
script: tests/regression.yaml
The Rust simulation core is open source. ARM Cortex-M0+ / M3 / M4 / M33 + RISC-V + Xtensa LX7. Peripheral models for I²C, SPI, UART, ADC, NVIC, DMA. VS Code extension, GDB / DAP server, VCD trace export. Fork it, study it, contribute back.