Skip to content

v1.0.0

Choose a tag to compare

@AnkitVats21 AnkitVats21 released this 20 Sep 19:00
· 223 commits to main since this release

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 behind CONFIG_DISPLAY_ENABLE.
  • STAR replication — core_sysdb's WAL-based state replication keeps
    the device and the starhub daemon in sync over a single WebSocket
    command channel.
  • Split into three repos: waveshare (firmware, this repo),
    starhub (replication daemon),
    and waveshare-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 local sdkconfig was previously masking.
  • Docs — fact-checked, corrected README plus a README.md for every
    major component (core_sysdb, audio_core, media_player,
    gemini_live, ui_view).

Known limitations

  • MQTT (mqtt_forward tool, Mqtt SysDb component) is defined but not
    implemented — no live client exists.
  • MusicLibraryManager is dead code, superseded by CatalogDB.