Cranpose on an emulated ESP32-S3
This page runs the firmware of a Cranpose app on an ESP32-S3 that your browser emulates. The ROM, ESP-IDF's bootloader and the app run as they would on a board: Cranpose composes, lays out and draws every frame on the emulated Xtensa LX7, and the frames reach the canvas below through the emulator's virtual RGB panel.
Loading the emulator…
How it works
- The emulator is Espressif's QEMU with its ESP32-S3 board, moved onto qemu-wasm, which compiles hot guest code to WebAssembly while it runs. The changes are in cranpose-esp32-qemu.
- The firmware is a Rust app on cranpose-platform-esp-idf: it draws each picture on the CPU and sends the changed rows to an ESP-IDF LCD panel. Its source is in cranpose-esp32.
- The emulator follows the chip's instructions, not its timing: frame times here say nothing about a real board, and booting takes several seconds.