neuron-explorer
Steering-first neuron explorer for Qwen3.5-4B: push every MLP neuron, keep every rollout, browse the results
A C++ ESP-IDF voice assistant client for the Waveshare ESP32-S3 Audio Board, featuring direct Gemini Live WebSocket streaming, local WakeNet wake word engine.
Developer toolsC++ · PythonGitHub @AnkitVats21OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
Nexus: firmware for the Waveshare ESP32-S3 audio board
C++17 firmware that turns the Waveshare ESP32-S3 audio board into a
voice-controlled music box: say the wake word and talk to Google's Gemini
Live, play music from YouTube (via Invidious) with songs saved to the SD
card, set alarms, timers and reminders, record audio, and control it all
from a web dashboard the device serves itself at http://nexus.local.Read the full README ↗C++17 firmware that turns the Waveshare ESP32-S3 audio board into a
voice-controlled music box: say the wake word and talk to Google's Gemini
Live, play music from YouTube (via Invidious) with songs saved to the SD
card, set alarms, timers and reminders, record audio, and control it all
from a web dashboard the device serves itself at http://nexus.local.
| Part | |
|---|---|
| MCU | ESP32-S3, dual-core 240 MHz, Wi-Fi, 16 MB flash, 8 MB octal PSRAM |
| Audio | ES7210 mic ADC (two MEMS mics + echo reference), ES8311 codec, class-D speaker amplifier |
| Storage | microSD (SDMMC, FAT32) |
| Controls | Five keys through a TCA95xx I2C expander, WS2812 LED ring |
| Display (optional) | 320×240 ILI9341 SPI screen with XPT2046 touch (CONFIG_DISPLAY_ENABLE) |
. $IDF_PATH/export.sh
idf.py build
idf.py -p /dev/ttyACM0 flash monitor
idf.py menuconfig → Waveshare Audio Development Board Config holds the
Wi-Fi, wake word, SD card and display options. PSRAM and the partition
table must be enabled as in sdkconfig.defaults plus your board's needs.wifi_config.json ({"ssid": "...", "password": "..."}) and
gemini_config.json ({"api_key": "..."}) on the card and boot: they
are imported and removed from the card;POST /api/config/gemini and POST /api/wifi/configure from the
dashboard's settings.http://nexus.local (or the device's IP). If no
dashboard bundle is installed yet, a built-in page is served at / and
always at /recovery. Build and upload the dashboard from its repository
with npm run deploy.curl -X POST --data-binary @build/waveshare.bin http://nexus.local/api/ota. keys / wake word / dashboard (/api/ws, REST) / Gemini tool calls
│
AppController, HTTP routes
│
┌──────────────┬──────┴───────┬───────────────┬──────────────┐
Assistant Music Alarms Recorder Storage
(gemini_live) (media_player) (services/ (app/audio/ (nexus_db,
alarm) recording) sd_storage)
└──────────────┴──────┬───────┴───────────────┘
AudioOrchestrator (who owns the speaker)
│
audio_core: mic capture, AFE + wake word, mixer, I2S
All live state sits in one in-RAM store, EmbeddedSysDb: services change
it through mutate(), and tasks that care (the dashboard channel, LEDs,
audio, persistence) are woken by per-field change bits. What must survive a
restart is saved to system.ndb on the card.
| Part | README |
|---|---|
| Audio I/O, wake word, mixer, orchestrator | components/audio_core |
| System state, ring buffers, task layout | components/core_sysdb |
| Music player, seeking, library | components/media_player |
| Voice assistant and tools | components/gemini_live |
| Databases on the card | components/nexus_db |
| SD card access | components/sd_storage |
| Credentials | components/credentials |
| HTTP server core | components/http_server |
| Screen UI | components/ui_view |
| App logic, keys, recorder | main/app |
| Alarms, timers, reminders | main/services/alarm |
MIT, see LICENSE.
REST API and /api/ws | main/services/http |
| system.ndb, recordings.ndb | main/services/storage |
| Board bring-up | main/hal |
| Schema compiler, bundler, voice tests | tools |
| Host (PC) tests | host_tests |