Chiprun · siliconless firmware simulation
Run firmware on virtual chips, from your agent
Chiprun is a hosted MCP service. Your agent connects to it, uploads compiled firmware, runs it on a virtual instance of a real microcontroller, and reads back the captured UART output. You don't drive the toolchain — your agent does.
The same engine also runs in your browser, where you can stop it, step it, set breakpoints and step backwards — and see the circuit around the chip, not just the pins.
How it works
Cross-compilation happens on your side; Chiprun runs the ELF as-is. A run gives you CPU execution of your binary, UART capture, and peripheral registers and interrupt timing that match the physical chip.
Runs are bounded by virtual CPU time, not wall-clock time. Firmware that loops forever — which is most real firmware — returns at the cap with whatever it printed. It never hangs your agent.
The tools
Your MCP client discovers these automatically on connect. Call chiprun_help first in any session — it is authoritative and may be ahead of this page.
chiprun_help
Call first, no arguments. Workflow, board list, per-chip gotchas, limits, and your remaining quota.
chiprun_list_boards
Available boards with the Rust target triple to compile for and each board's virtual-time guarantee.
chiprun_create_firmware_upload
Returns a presigned upload_url and a firmware_id. PUT your ELF bytes to the URL.
chiprun_run_firmware
Runs an uploaded firmware on a board and returns the captured UART output. Blocks until the run finishes.
One engine
Every board runs on gensim, which models the chip and the board around it — so a run reports what the circuit did, not only what the firmware did. The virtual-time cap is a CPU cycle budget and the run stops on the cycle, so where it ends does not move with host load. See the board reference for each board's clock and fitted parts. Today 11 boards are live.
Already have an API key?
Point your agent at https://urdb.io/mcp and say “call chiprun_help and run a hello world”.
Runnable examples and the agent guide live on GitHub: GetMystAdmin/chiprun.