Embedded system emulation.
Runs anywhere.
vemu is a multi-architecture embedded system emulator. The freeware build runs Cortex-M firmware in the browser via WebAssembly — pick a board, drop in an ELF, and run it right here. Embed it in your own site. Run it headless in CI.
Built for the full firmware lifecycle
From browser demos to production CI validation. Start with the freeware build — scale to the commercial edition when you need more.
freewareFreeware build — free to use and embed
Runs in the Browser
The freeware build ships as WebAssembly. Boot firmware in any browser, embed the emulator on your own website, or drop it into a documentation page.
ARM Cortex-M
Full nRF5340 peripheral model in the freeware build — UART, GPIO, timers, DMA, radio, crypto, and more. Real peripheral behaviour, not stubs.
Deterministic Core
Every device model runs deterministically — predictable, reproducible, and CI-friendly. Same input always produces the same output.
Embeddable npm Package
Install @swedishembedded/vemu and @swedishembedded/vemu-react. One initVemu() call and you have a live emulator inside your React app.
Peripheral Introspection
Query peripheral state, snapshot registers, send inspector commands, and stream events — all through a typed TypeScript API.
Extensible Views
Register custom React components as peripheral inspector panels. Build your own diagnostic UI alongside the emulator.
commercialCommercial edition — contact us for licensing
JIT Acceleration
A native JIT compiler lifts interpreter overhead entirely — run firmware at near-native speed for demanding workloads.
Broader Architecture Support
ARM Cortex-A, RISC-V, x86-64, and additional Nordic, ST, and NXP SoC targets — one tool for every level of the stack.
Deterministic Replay
Record an execution once, replay it bit-exact at any later point. Reproduce intermittent bugs that disappear on real hardware.
Compose Systems
Wire multiple virtual machines over virtual interconnects from a simple YAML file. Simulate full multi-node deployments.
GDB & DAP Debug
GDB RSP server and a DAP adapter for VS Code. Breakpoints, watchpoints, multi-core SMP, heterogeneous CPU+APU debug.
Trace & Coverage
Instruction-level execution trace and coverage bitmaps out of the box — see exactly what your firmware did on every run.
Start free. Scale commercially.
The freeware build is free to use and embed — no licence required, no sign-up. When you need JIT performance, additional architectures, or a commercial support agreement, we have you covered.
- ARM Cortex-M · nRF5340
- WebAssembly · browser + CI
- npm packages, open API
- Free to use and embed
- JIT acceleration
- Cortex-A · RISC-V · x86-64 · more
- GDB / DAP debug · replay · trace
- Source licence + support