# vemu > vemu is a multi-architecture embedded system emulator. Boot ARM Cortex-M firmware in the browser via WebAssembly, embed it in any website, or run it headless in CI. A commercial edition adds JIT acceleration, additional architectures, and full source access. Full content dump: https://vemulator.com/llms-full.txt ## Home - [vemu - Browser Hardware Emulator](https://vemulator.com/): Boot embedded firmware in the browser. WebAssembly Cortex-M hardware emulator. ## Getting Started - [Installation & Quick Start](https://vemulator.com/docs/getting-started): Install npm packages, initialize the wasm runtime, and boot your first board. - [Custom Views](https://vemulator.com/docs/custom-views): Build peripheral inspector panels with PeripheralViewProps and the view registry. - [Runtime Introspection](https://vemulator.com/docs/runtime-introspection): Query boards, peripherals, snapshots, commands, and the reflection document at runtime. ## Runtime Reference - [Reference Overview](https://vemulator.com/docs/reference): All published peripherals, boards, and the event vocabulary. - [Event Vocabulary](https://vemulator.com/docs/reference/events): Structured events every board shares - inbound and outbound. ### Boards - [VEMU Cortex-M55 + Ethos-U65](https://vemulator.com/docs/reference/boards/arm-vemu-cortex-m55-npu): armv8m architecture. - [nRF5340-DK Application Core](https://vemulator.com/docs/reference/boards/nordic-nrf5340-dk-cpuapp): armv8m architecture. ### Peripherals #### Timing - [nRF5340 RTC (real-time counter)](https://vemulator.com/docs/reference/peripherals/nordic-nrf-rtc): 24-bit LFCLK (32.768 kHz) counter with prescaler, four compare channels, TICK/OV... - [nRF5340 TIMER](https://vemulator.com/docs/reference/peripherals/nordic-nrf-timer): Functional TIMER/counter model: 16 MHz base clock with prescaler, `BITMODE` widt... - [nRF5340 WDT (watchdog timer)](https://vemulator.com/docs/reference/peripherals/nordic-nrf-wdt): Behavioral watchdog model: LFCLK-driven down-counter with `CRV` reload value, ei... #### Connectivity - [nRF5340 QSPI (quad SPI external flash interface)](https://vemulator.com/docs/reference/peripherals/nordic-nrf-qspi): Behavioral QSPI model with no external flash connected: every task (`ACTIVATE`, ... - [nRF5340 SPIM (SPI master with EasyDMA)](https://vemulator.com/docs/reference/peripherals/nordic-nrf-spim): Behavioral SPIM model with no real SPI bus: `TASKS_START` fires `STARTED` immedi... - [ARM PrimeCell PL011 UART](https://vemulator.com/docs/reference/peripherals/arm-pl011): Behavioral PL011 UART model (also covers `ti,stellaris-uart`). TX bytes surface ... - [nRF5340 UARTE (UART with EasyDMA)](https://vemulator.com/docs/reference/peripherals/nordic-nrf-uarte): UART with EasyDMA model. `TASKS_STARTTX` queues an EasyDMA read of `TXD.PTR`/`TX... - [nRF5340 USBD (USB 2.0 full-speed device controller)](https://vemulator.com/docs/reference/peripherals/nordic-nrf-usbd): Behavioral USBD stub: writing ENABLE latches EVENTS_USBRESET (no VBUS - disconne... - [nRF5340 USBREG](https://vemulator.com/docs/reference/peripherals/nordic-nrf-usbreg): Nordic Semiconductor USBREG peripheral (nRF5340). Models VBUS detection events (... #### Wireless - [nRF5340 NFCT (NFC tag interface)](https://vemulator.com/docs/reference/peripherals/nordic-nrf-nfct): Behavioral NFCT model: state-machine tasks latch the matching events and pulse t... #### Analog - [nRF5340 SAADC (successive-approximation ADC with EasyDMA)](https://vemulator.com/docs/reference/peripherals/nordic-nrf-saadc): Functional SAADC model with no analog front-end. `TASKS_SAMPLE` fills the EasyDM... - [nRF5340 COMP (comparator)](https://vemulator.com/docs/reference/peripherals/nordic-nrf-comp): Behavioral COMP model: `TASKS_START` fires `EVENTS_READY` (IRQ when enabled). `T... #### Audio - [nRF5340 PDM (pulse density modulation microphone)](https://vemulator.com/docs/reference/peripherals/nordic-nrf-pdm): Functional PDM model with no real microphone: `TASKS_START` latches `STARTED`, f... - [nRF5340 I2S (inter-IC sound)](https://vemulator.com/docs/reference/peripherals/nordic-nrf-i2s): Functional I2S model with no real audio interface: `TASKS_START` fires `TXPTRUPD... #### Digital I/O - [nRF5340 GPIO port](https://vemulator.com/docs/reference/peripherals/nordic-nrf-gpio): 32-pin GPIO port model: `OUT`/`OUTSET`/`OUTCLR`, `DIR` variants, `IN`, `LATCH` (... - [nRF5340 GPIOTE (GPIO tasks and events)](https://vemulator.com/docs/reference/peripherals/nordic-nrf-gpiote): 8-channel GPIOTE model. Event-mode channels latch `EVENTS_IN[n]` on matching pin... - [nRF5340 QDEC (quadrature decoder)](https://vemulator.com/docs/reference/peripherals/nordic-nrf-qdec): Functional QDEC model with no encoder connected: `TASKS_START` latches `SAMPLERD... - [nRF5340 PWM (pulse width modulation with EasyDMA)](https://vemulator.com/docs/reference/peripherals/nordic-nrf-pwm): Functional PWM model with no electrical output. `TASKS_SEQSTART[n]` consumes the... #### Security - [nRF5340 SPU (system protection unit)](https://vemulator.com/docs/reference/peripherals/nordic-nrf-spu): Secure/Non-Secure partitioning model: stores `FLASHREGION`, `RAMREGION`, `PERIPH... - [nRF5340 CRYPTOCELL (ARM CryptoCell-312 wrapper)](https://vemulator.com/docs/reference/peripherals/nordic-nrf-cryptocell): Software-fallback stub for the CC312 hardware crypto engine: the wrapper `ENABLE... - [nRF5340 KMU + NVMC (key management + flash controller)](https://vemulator.com/docs/reference/peripherals/nordic-nrf-kmu-nvmc): Combined model of the shared 4 KiB KMU/NVMC block. KMU pushes and revokes the 12... #### Memory & Storage - [nRF5340 CACHE](https://vemulator.com/docs/reference/peripherals/nordic-nrf-cache): Transparent no-op cache controller: READY always reads 1, TASKS_STARTERASE latch... - [nRF5340 UICR (user information configuration registers)](https://vemulator.com/docs/reference/peripherals/nordic-nrf-uicr): Non-volatile UICR flash model backed by a shared (optionally file-backed) byte s... - [nRF5340/nRF9160 FICR (factory information configuration registers)](https://vemulator.com/docs/reference/peripherals/nordic-nrf-ficr): Read-only factory information block pre-populated with plausible nRF5340 or nRF9... - [nRF5340 VMC (volatile memory controller)](https://vemulator.com/docs/reference/peripherals/nordic-nrf-vmc): RAM block power control model. `RAMBLOCK[n].POWER` registers (with POWERSET/POWE... #### System & Infrastructure - [nRF5340 CLOCK/POWER/RESET](https://vemulator.com/docs/reference/peripherals/nordic-nrf-clock): Combined model of the shared CLOCK, POWER, and RESET block. All clock start/stop... - [nRF5340 OSCILLATORS](https://vemulator.com/docs/reference/peripherals/nordic-nrf-oscillators): Nordic nRF5340 OSCILLATORS peripheral (sec 4.12): three retained configuration r... - [nRF5340 CTRLAP (control access port)](https://vemulator.com/docs/reference/peripherals/nordic-nrf-ctrlap): Behavioral model of the nRF5340 CTRL-AP peripheral (CPU side, sec 8.10.7). The C... - [nRF5340 DPPIC (distributed PPI controller)](https://vemulator.com/docs/reference/peripherals/nordic-nrf-dppic): DPPI controller with 32 channels and 6 channel groups. CHEN/CHENSET/CHENCLR writ... - [nRF5340 EGU (event generator unit)](https://vemulator.com/docs/reference/peripherals/nordic-nrf-egu): 16-channel software event generator: `TASKS_TRIGGER[n]` (via MMIO or DPPI subscr... - [nRF5340 MUTEX (mutual exclusion)](https://vemulator.com/docs/reference/peripherals/nordic-nrf-mutex): Hardware spinlock model with 16 `MUTEX[n]` registers implementing atomic test-an... - [nRF5340 IPC (inter-processor communication)](https://vemulator.com/docs/reference/peripherals/nordic-nrf-ipc): 16-channel IPC mailbox model. `TASKS_SEND[n]` latches `EVENTS_RECEIVE` for every... - [Arm Ethos-U65 NPU](https://vemulator.com/docs/reference/peripherals/arm-ethos-u65): Arm Ethos-U65 microNPU. The driver writes the command-stream address/length to `... - [nRF5340 DCNF (domain configuration)](https://vemulator.com/docs/reference/peripherals/nordic-nrf-dcnf): Domain configuration block present on both application and network cores of the ... ## React API - [React API Overview](https://vemulator.com/docs/react): Components and hooks from @swedishembedded/vemu-react. - [GenericInspector](https://vemulator.com/docs/react/genericinspector): Default inspector view used for any peripheral that has no domain-specific view ... - [PERIPHERAL_LABELS](https://vemulator.com/docs/react/peripheral-labels): Optional human-friendly labels for the selector. Unknown peripherals fall back t... - [PERIPHERAL_VIEWS](https://vemulator.com/docs/react/peripheral-views): Registry mapping a peripheral name (as reported by the machine) to a domain-spec... - [peripheralLabel](https://vemulator.com/docs/react/peripherallabel): Display label for a peripheral name: registered label or upper-cased name. - [PeripheralPanel](https://vemulator.com/docs/react/peripheralpanel): Generic peripheral inspector panel. A permanent section (like Display and Consol... - [PeripheralSelector](https://vemulator.com/docs/react/peripheralselector): Vertical list of inspectable peripherals (the left pane of PeripheralPanel). Ren... - [PeripheralViewProps](https://vemulator.com/docs/react/peripheralviewprops): Uniform props every peripheral inspector view receives. Domain-specific views (K... - [useVemu](https://vemulator.com/docs/react/usevemu): Core VEMU hook. Manages wasm init, board selection, firmware loading, the RAF re... - [UseVemuResult](https://vemulator.com/docs/react/usevemuresult): Everything useVemu returns: emulator status, board selection, program/run contro... - [VemuCanvas](https://vemulator.com/docs/react/vemucanvas): Pixel-perfect display surface for the emulator's video output. Registers a draw ... - [VemuLoader](https://vemulator.com/docs/react/vemuloader): Optional override for testing / stub mode. Returned by the `loadModule` factory ... - [VemuTerminal](https://vemulator.com/docs/react/vemuterminal): xterm.js console bound to the emulator's UART. Machine output is written to the ... - [VemuTitleBar](https://vemulator.com/docs/react/vemutitlebar): Branded title bar for the VEMU emulator window. Renders the `vemu.` wordmark as ...