Skip to content

Releases: raullenchai/esp32-thinks

v0.2.1 — A multi-model Muse: wake word + your own brain

Choose a tag to compare

@raullenchai raullenchai released this 13 Oct 18:21
99264f9

The gadget now talks — and wakes on its own.

"Hi, ESP" or the knob — both start a turn. Detection is esp-sr WakeNet10 running on-chip; the wake model lives in its own flash partition (srmodels.bin @ 0x822000, flashed automatically by build-and-flash.sh when missing).

v0.2.1 — wake word

  • WakeNet10 wn10_hiesp on idle audio chunks, direct (no AFE — its static buffers OOM the codec on this board)
  • Wake → synthesized PTT: recording, VAD end-of-turn and the reply flow are exactly the button's
  • esp-dl kernel fix: dl-extra-req.yml re-adds the W8A16 no-bias 1×1 conv that esp-sr's own compile_req strips
  • Serial self-tests: k = wake-phrase playback in full duplex, l = mic loopback probe
  • 4 s post-turn cooldown (armed after the reply plays) prevents re-wake loops
  • apply.sh asks to enable it; WAKE_WORD / WAKE_VAD_DB in provider_config.h

v0.2.0 — bring your own brain

  • STT + chat + TTS are three independent OpenAI-compatible endpoints — one provider or mix-and-match; presets openai, quicksilver (deepseek-v4.1-flash + whisper-large-v3-turbo + chatterbox/qwen3-tts), custom
  • Streaming sentence TTS while the model writes the next sentence (ASCII + CJK boundaries)
  • TLS keep-alive: warm voice turn ≈ 5–7 s end-to-end; captions at ~2–3 s
  • Language-aware voice (Chinese turns use TTS_MODEL_CJK)
  • Headless Wi-Fi provisioning — no Muse app, no vendor account
  • Silence-trimmed uploads; typed turns speak too

Setup: see the README — clone the SDK, ./apply.sh --preset …, ./build-and-flash.sh. Verified end to end on a SenseCAP Watcher.

⚠️ API keys compile into the firmware — hobby recipe, keep it that way. See Security notes.