velxio/test/esp32-emulator
David Montero Crespo 02c69c23f6 feat: add ESP32 emulator with QEMU WebAssembly integration and basic GPIO functionality tests 2026-03-10 18:01:05 -03:00
..
binaries feat: add ESP32 emulator with QEMU WebAssembly integration and basic GPIO functionality tests 2026-03-10 18:01:05 -03:00
qemu-wasm feat: add ESP32 emulator with QEMU WebAssembly integration and basic GPIO functionality tests 2026-03-10 18:01:05 -03:00
sketches feat: add ESP32 emulator with QEMU WebAssembly integration and basic GPIO functionality tests 2026-03-10 18:01:05 -03:00
web feat: add ESP32 emulator with QEMU WebAssembly integration and basic GPIO functionality tests 2026-03-10 18:01:05 -03:00
README.md feat: add ESP32 emulator with QEMU WebAssembly integration and basic GPIO functionality tests 2026-03-10 18:01:05 -03:00

README.md

ESP32 Emulation Test Suite

This directory contains tests for ESP32 emulation using QEMU compiled to WebAssembly.

Structure

  • sketches/ - Arduino sketches for ESP32 (copied from test/esp32/sketches)
  • binaries/ - Compiled firmware binaries (.bin, .elf)
  • qemu-config/ - QEMU machine configurations
  • scripts/ - Build and test scripts
  • web/ - HTML/JS wrapper for WebAssembly QEMU

Prerequisites

  1. QEMU fork built as WebAssembly (see wokwi-libs/qemu-lcgamboa/)
  2. ESP32 toolchain (arduino-cli with esp32 platform)
  3. Emscripten SDK (for building QEMU to WASM)

Initial Test

The first test is to compile the blink sketch and run it in QEMU (native) to verify basic GPIO emulation.

Goals

  • Emulate GPIO pins (digitalWrite, digitalRead)
  • Emulate Serial output (UART)
  • Emulate WiFi (station and AP modes)
  • Emulate other peripherals (SPI, I2C, ADC, etc.)
  • Run entirely in browser via WebAssembly