Spangap is a framework for ESP32-S3 firmware. Before you write a line of your own you have real multitasking, a web interface that updates live, a command line over serial, web and SSH, and phone-style apps on a touch screen. The browser talks straight to the device, so you can build things you thought needed a cloud service or an app.
- Flash itPut the bare platform on a board from your browser. No toolchain, no install.
- Getting startedInstall the tool, build a real firmware and flash it, in two terminal windows.
- Why it existsThe multitasking problems on ESP-IDF that this was built to solve.
See it in action today
Reticulous, a Reticulum mesh node firmware, was developed together with Spangap and uses all of it. Flash it to see the platform working, or read its code for how things are done. On a LilyGO T-Deck Plus it shows the LCD interface too.
What you get
- Real multitasking. No polling, no giant main loop. Ten or twenty tasks sit blocked at zero CPU until something happens, and power management lets the chip sleep in between.
- One settings store, everywhere. Type
set net.wifi.enable=1on the command line and watch the toggle flip on the LCD and in the web UI. - A web interface ready to go, built on Vue and Quasar, with settings panels and windows. You add only your own app’s screens.
- A device web server with HTTPS, WebSockets, WebRTC, an onboarding access point and authentication.
- A unix-like command line on serial, in the web interface and over SSH.
- Apps on LCD screens with LVGL. Register a name, an icon and a function that draws your window, and your app appears in a phone-style launcher.
- Modules that don’t need to know about each other. Your code is a straddle: one directory with your firmware component, your browser app and some metadata. Include what you need and leave out the rest.
- A build in a Docker container with every dependency inside. Use it just to build, or work from a shell in it, which also keeps an AI coding assistant contained. The host needs only Python 3, Docker and git.
- Documentation written for people and for AI assistants, layered so an assistant reads only what it needs for the part it is working on.
The overview says which module owns what.
Spangap currently supports the ESP32-S3 with PSRAM. The classic ESP32 and the C5 should not be hard to add. Without PSRAM only very small systems fit, such as a LoRa-only node without WiFi.