Skip to main content

Emulator

Run firmware on a virtual board, in your browser, at embedhub.com/tools/Emulator. Useful for early development before hardware is in hand, for sharing reproducible demos, or for headless CI testing of firmware.

What it runs

The emulator boots a virtual board running your firmware image and exposes its serial output as a terminal in the page. Optional per-project UI files (HTML or zipped HTML bundles) loaded from releases/ overlay the terminal, giving the firmware a visual front-end through a small JS bridge.

Project UI bridge

If your project's releases/ folder includes a UI file (.html or .zip containing one), the emulator loads it on top with the terminal collapsed below. The bridge injects a window.emulator object with onLog, onStatus, and sendCommand so the UI can read serial output and inject commands as if it were a connected user.

The UI runs sandboxed (allow-scripts only, no same-origin access to the parent page or its credentials).

Notes

  • Serial output arrives in chunks — UIs that parse text should buffer until a known delimiter (e.g. a prompt) before acting on it.