Skip to content

Releases: AnkitVats21/waveshare

v1.2.0: music on satellites, song lookup over MCP, leaner build

Choose a tag to compare

@AnkitVats21 AnkitVats21 released this 02 Oct 15:03
  • Nexus Orbit: the music can play on a PC or Pi running nexus-orbit
    (/api/orbit/ws, up to 3 satellites). Handoff at the current position,
    board resumes if the satellite drops, pauses during a voice session
    like local music. Output picker in the dashboard; "play it on the PC"
    by voice (music_output skill).
  • Song lookup goes through the MCP server (device-only tools, hidden
    from Gemini); the board's own Invidious client stays as a fallback
    (CONFIG_WAVESHARE_INVIDIOUS_FALLBACK).
  • USB network mode only with CONFIG_WAVESHARE_USB_NET (off by default):
    11.7 KB internal RAM and 44 KB flash back.
  • Wi-Fi debugging tools removed (wifi-sniff, wifi-log, wifi-rx,
    wifi-mac, tuning.json).

v1.1.0: stable Gemini voice, faster networking

Choose a tag to compare

@AnkitVats21 AnkitVats21 released this 02 Oct 15:03
  • Wi-Fi receive no longer starves: received frames are copied out of the
    driver's buffers (LWIP_L2_TO_L3_COPY). With audio running, LAN 1.6-2.2
    MB/s (was 143-480 KB/s) and HTTPS ~450 KB/s with no pauses; Gemini
    replies arrive faster than real time without underruns.
  • A song's download is held during an assistant session.
  • 32 KB TCP receive window in the defaults.
  • Wi-Fi fixes: setup AP turns off after a credentials change; re-applying
    the current network reconnects; the configure reply is not cut off.
  • USB port can act as a network adapter (usb-mode).
  • Diagnostics: nettest (download/upload, pauses, IP precedence, lwIP
    drops), wifi-sniff radio capture, wifi-log, wifi-rx, wifi-mac, and
    experiment flags from /sdcard/tuning.json (/api/system/tuning).
  • Known issue: some routers cap ISP-marked traffic at ~85 KB/s
    (esp-idf#19168).

v1.0.0

Choose a tag to compare

@AnkitVats21 AnkitVats21 released this 20 Sep 19:00

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.