A reusable C component, a Python CLI, a reference firmware, and a host simulator — all in one repo. Drop into any ESP-IDF + LVGL project and turn `idf.py monitor` into a structured, AI-driveable loop.
No board needed for the simulator. No PlatformIO. No Arduino IDE. Just ESP-IDF and a laptop. The scaffolding is opinionated; the outputs are structured; the AI loop is the default, not an afterthought.
Scaffold a self-contained project with aurora-harness vendored in. Your code, your peripherals, our scaffolding.
esp-harness new my-thing cd my-thing esp-harness build esp-harness flashRead the component README →
20 scenes exercising every peripheral of the Waveshare ESP32-S3-Touch-AMOLED-2.16. The worked example.
cd examples/aurora/ esp-harness build && flash esp-harness monitor --seconds 8See the demo →
5-second UI iterations on your laptop via SDL2 + LVGL. Visual regression on every PR.
cd examples/aurora/sim/ cmake -B build cmake --build build esp-harness sim diffTry the sim →
Layer 1 — Toolkit (host Python CLI). Drives the device. Knows nothing firmware-specific; learns everything via the manifest at runtime.
Layer 2 — aurora-harness component (device C library). Console protocol + scene framework + UI overlays. Reusable, board-agnostic.
Layer 3 — Application (your firmware). Owns app_main, scenes, peripherals, business logic. Uses Layer 2 as scaffolding.
A single command — esp-harness manifest --json — flattens what every layer offers. If it's not in the manifest, it doesn't exist for the AI.
| Stack | Solves | Doesn't solve |
|---|---|---|
| Raw ESP-IDF | Build / flash / monitor. Mature, official, the substrate. | AI dev loop, manifest, sim, structured console, bench, scene framework. |
| PlatformIO | Build / flash / monitor with cross-platform abstraction. VS Code integration. | Same as above — PIO is a fancier build wrapper, not an AI dev loop. |
| Arduino IDE | One-button build / upload. Easy first touch. | Mostly everything — Arduino abstracts the layer below where our value lives. |
| LVGL official sim | Host LVGL build template, generic. | The bridge from your firmware code to the sim. The scene framework. The harness. |
| esp-harness (this repo) | All of the above's value-add, plus the AI dev loop. Targeted at ESP-IDF + LVGL specifically. | Other build systems (PIO, Bazel, …). Non-LVGL UI frameworks. Other MCU families (yet). |