Analysis updated 2026-05-18
Build and flash a working handheld console with a touchscreen and tiled app launcher onto an ESP32-S3 development board.
Use the codebase as a starting point to add custom apps to a sandboxed embedded UI without touching hardware directly.
Port the firmware to a different display or microcontroller board by editing the single board-config header file.
| blackcoffee2/prome | unsignedchad/bcm4360-wpa3 | ffmpegkit-maintained/ffmpeg | |
|---|---|---|---|
| Stars | 5 | 5 | 6 |
| Language | C | C | C |
| Setup difficulty | moderate | hard | easy |
| Complexity | 4/5 | 5/5 | 2/5 |
| Audience | developer | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires installing Espressif's ESP-IDF toolchain and sourcing its environment before building and flashing.
PROME is open-source firmware for a small handheld device built around an ESP32-S3 microcontroller chip. The device runs a tile-grid home screen with a small set of built-in apps: a camera viewfinder, a focus timer, a settings screen, and a touch calibration tool. The firmware is free to download, build, and modify. The hardware it targets is a mix of cheap, widely available modules: an ESP32-S3 development board with extra memory, a 3.2-inch touchscreen display, a resistive touch controller sharing the same data bus as the screen, and an optional camera module. All the pin assignments and hardware configuration live in a single file, so porting the firmware to a different board with similar parts is mostly a one-file change. A wiring guide in the repository lists exact pin-by-pin connections. Building and loading the firmware onto a device uses the standard ESP-IDF toolchain from Espressif (the chip maker). Three commands handle the whole process: configure the target chip, build the code, and flash it over USB. The USB connection on the development board doubles as the serial monitor, so you can read debug output from the same cable. The code is organized around a couple of deliberate design choices. A single main loop drives all the UI updates, and every app runs cooperatively within it rather than in separate parallel tasks. This simplifies the code and avoids a category of bugs. Each app also runs inside a sandbox: it receives a limited set of functions it is allowed to call rather than direct access to hardware or the filesystem. Apps and hardware services register themselves at build time using a macro, so adding or removing a feature is a build-list change with no other edits required. The project is developed by one person in spare time and accepts Patreon support. The README includes detailed comments on hardware bring-up lessons: display timing, color byte order, camera timing constraints, and touch calibration. Those comments are described as the practical porting guide for anyone adapting the firmware to different hardware. The code is licensed under Apache 2.0.
Open-source firmware for a small ESP32-S3 handheld console with a touchscreen, optional camera, and a tiled app launcher, built on ESP-IDF and LVGL.
Mainly C. The stack also includes C, ESP-IDF, LVGL.
Apache 2.0, free to use, modify, and distribute for any purpose including commercial, as long as you include the license notice.
Setup difficulty is rated moderate, with roughly 1h+ to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.