Repository navigation
v1.0.0
Waveshare ESP32-S3 Voice Assistant — v1.0.0
First tagged release. Firmware for a touchscreen ESP32-S3 device that runs
a Gemini Live voice assistant and a networked music player, replicating its
state to a companion starhub daemon over the STAR WebSocket protocol.
Highlights
- Gemini Live voice assistant — direct WebSocket connection to Google's
Gemini Live API with a full tool-calling surface (playback, volume, LED,
SD-card file I/O, alarms, memory). - Music playback — Invidious-backed streaming via
media_player, SD
card caching, catalog DB, WebM/Opus decoding. - On-device touch UI — LVGL v9 dashboard on the ILI9341 + XPT2046
display (ui_view), gated behindCONFIG_DISPLAY_ENABLE. - STAR replication —
core_sysdb's WAL-based state replication keeps
the device and thestarhubdaemon in sync over a single WebSocket
command channel. - Split into three repos:
waveshare(firmware, this repo),
starhub(replication daemon),
andwaveshare-dashboard
(React control UI) — each with preserved git history, now deployable
together via Docker Compose. - CI — GitHub Actions now builds the firmware (ESP-IDF v6.0.1,
esp32s3) on every push/PR, catching build-reproducibility regressions
that a gitignored localsdkconfigwas previously masking. - Docs — fact-checked, corrected README plus a
README.mdfor every
major component (core_sysdb,audio_core,media_player,
gemini_live,ui_view).
Known limitations
- MQTT (
mqtt_forwardtool,MqttSysDb component) is defined but not
implemented — no live client exists. MusicLibraryManageris dead code, superseded byCatalogDB.