Virtual Microcontrollers

Real firmware running on emulated MCUs — wired and wireless busses, parallel-simulated in the cloud, with deterministic replay.

Start free
A VirtMCU replay: two boards joined by an Ethernet cable, with the console and packet list docked below
0 ns / 5.30 ms
TCP · 55432 → 80 [SYN] Seq=0
Packetscanfd && len > 8
10 nsNode A→Node BTCP55432 → 80 [SYN] Seq=0
2900 µsNode B→Node ATCP80 → 55432 [SYN, ACK] Seq=0 Ack=1
31.70 msNode A→Node BTCP55432 → 80 [ACK] Seq=1 Ack=1
42.60 msNode A→Node BHTTPGET /telemetry HTTP/1.1
53.60 msNode B→Node AHTTP200 OK {"temp":24.6}
64.45 msNode A→Node BTCP55432 → 80 [FIN, ACK] Seq=42
Console
[Node A] eth0: link up, dialing 10.0.0.2:80
[Node B] eth0: SYN received, replying
[Node A] eth0: connection established
[Node A] app: GET /telemetry
[Node B] app: 200 OK {"temp":24.6}
[Node A] app: closing (FIN)

30 microcontrollers from 13 vendors, modelled from their own register maps

  • Broadcom
  • Espressif
  • GigaDevice
  • Infineon
  • Microchip
  • Nordic
  • NXP
  • Qualcomm
  • Renesas
  • Rockchip
  • Silicon Labs
  • STMicroelectronics
  • Texas Instruments

Every run, replayable to the microsecond.

Scrub virtual time from seconds down to single microseconds. Watch each frame leave its antenna or run its cable exactly when it was sent — then step to the next transmission.

Press space to play, or step frame by frame with the arrow keys.

Two radio boards on the stage, one transmitting an 802.15.4 frame as an expanding wavefront

Same inputs.
Same bits.
Every run.

Bit-identical replay

The same world, firmware and seed produce the same results across the runs.

Virtual time

Every node advances in lockstep quanta. Host load never reaches your firmware's clock.

A bug you saw once, forever

A failure recorded in CI replays exactly on your desk — no more “cannot reproduce”.

Wire a world in minutes.

Drag real MCUs onto the bench, draw buses between matching ports, place radios within range. Switch to Stage and see it exactly as it will replay.

The World Builder bench: two NXP boards wired CAN0 to CAN0
The same world in the Builder's Stage view, rendered as it will replay

Every frame, in plain sight.

Console, log, packets and a call-stack flamegraph dock beside the stage. Filter traffic the way you would in Wireshark — canfd && len > 8 — and jump the replay to any frame.

The packet list with its display-filter bar

Built for engineers. Ready for their agents.

Everything above — flash, run, step, replay — is also a tool call. Point an agent at the same interface you've been using by hand.

63

tools over the Model Context Protocol — flash, run, step, inspect and replay.

One call

to start a session of many boards, and one to tear it down.

Same answer

every time an agent asks — determinism makes its conclusions checkable.

Agents start from llms.txt and the API & MCP reference.

Free to start.

$9/mo
Student
1 agent session
$99/mo
Pro
2 concurrent sessions
$199/mo
Max
5 sessions, CI/CD swarms

Enterprise, by conversation.

Compare plans

Build it before it exists.

Start free