Browser bench · engine v0.49.0

ESP32 firmware, in the tab you already have open.

ESP Emulator is a quiet shell around Espressif’s official emulator. Pick a chip, load a merged flash image, and press Run. The boot log, GPIO, and registers stay here. The file is not uploaded.

How a merged image works

  • Firmware stays in this tab
  • Seven chips in the 0.49.0 engine
  • Apache-2.0 engine. Not an Espressif site.
A still of the lab console, not a live session

A bench you can open

The emulator is the official wasm build. This site loads the image and keeps the console and dashboard in front of you.

In the browser

You can try a merged image without installing a toolchain first. The page loads Espressif’s esp-emulator build.

Private by default

The .bin is read in this tab. The site does not store firmware.

Chips this engine knows

ESP32-C3, C5, C6, H2, P4, S3, and S31. Match the part you compiled for.

Visible, and touchable

UART0 you can type into, live speed, cores, GPIO you can click, registers, and a hex dump.

Sign-in is optional

The emulator runs signed out. GitHub sign-in remembers you and starts a short tour the first time you open the lab.

One-click hello_world

Signed in, you can build the IDF hello_world for ESP32-C3 or C6 on GitHub Actions and load it here. Other firmware you still compile yourself.

Three steps to a boot log

The same sequence as flashing a board, except the last step is Run.

  1. 1

    Pick the chip

    Use the target you passed to idf.py set-target.

  2. 2

    Bring a merged image

    idf.py merge-bin writes build/merged-binary.bin: bootloader, partition table, and app. Or sign in and build hello_world for C3 or C6.

  3. 3

    Press Run

    UART0 prints the boot log. Pause and Step walk one instruction. Click an input pin to drive it.

Who it’s for

Learning ESP-IDF

Read a hello_world boot log before the board arrives.

Debugging without hardware

Check that a merged image reaches the app, and see which GPIO the firmware drives.

This site and a local esp-emu

Use the lab to open an image and watch the console. Use a local install when the firmware needs a real network.

This site Local esp-emu
Open a merged image Yes, in the lab Yes
UART, GPIO, registers Yes Yes
Real network No. An HTTPS page cannot open ws:// to your machine. Yes, with tools/ws-net-proxy.py
Install None A local build of the emulator