Cortex-M · WebAssemblyfreeware + commercial edition

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.

$npm install @swedishembedded/vemu @swedishembedded/vemu-react
Loading emulator…

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.

Freeware build
  • ARM Cortex-M · nRF5340
  • WebAssembly · browser + CI
  • npm packages, open API
  • Free to use and embed
Commercial edition
  • JIT acceleration
  • Cortex-A · RISC-V · x86-64 · more
  • GDB / DAP debug · replay · trace
  • Source licence + support