// readme

ESP32-Emulator

An emulator for ESP32-S3 boards, built to run PURR OS and other ESP32 firmware without the hardware. It opens a window with the board’s screen, touch panel, keyboard and SD card, or runs with no window so a script can press the screen, take pictures and read the serial log.

It is made of two parts: a patched copy of Espressif’s QEMU, which emulates the chip, and a Rust program in this repository, which supplies everything the chip talks to (display, touch, keyboard, SD card, Ethernet) and the window.

Status. The ESP32-S3 boards boot real PURR OS images, with screen, touch, keyboard, SD card and (on the VM board) wired Ethernet. There is no Wi-Fi, Bluetooth or LoRa radio. The plain-ESP32 boards (the CYD family) boot to a serial console, but their screens are not modelled. Every chapter in docs/ ends with what is untested. The short list is at the end of this page.

What it needs

Rust1.82 or newer is declared in Cargo.toml. Built here with 1.99.1; 1.82 itself has not been tried
The patched QEMU…