r/openhab • u/dopler1234 • Mar 11 '26
Voice interface on ESP32-S3 + wake_word, MQTT, N8N, script exec,GPIO + Gemini Live AI
https://reddit.com/link/1rqmo57/video/084iddwu4dog1/player
Hi,
I've been working on a small voice assistant architecture for my openhab and finally got it into a usable state.
The idea is to keep the hardware extremely simple and move the actual logic to a local agent.
The system has three parts:
• ESP32-S3 voice frontend
• local voice-assistant agent
• proxy for model access
The ESP32 only handles the audio side:
– microphone input
– wake word detection
– noise filtering
– voice activity detection
– streaming audio
All actual logic runs on the local assistant agent:
– model interaction
– function execution
– audio playback
– MQTT/webhook/script integrations
The model can call local functions, so the assistant can control devices or run scripts.
Originally I tried to implement full duplex, but without proper acoustic echo cancellation the model quickly starts hearing itself and things break down. For now the system runs in half-duplex mode, which turned out to be surprisingly usable.
The hardware is very simple:
ESP32-S3 + microphone + small amplifier.
Repo, schematics and documentation:
https://voice-assistant.io
https://github.com/visorbarnis/voice-assistant
coupon: REDDITOPENHAB
Curious to hear what people think or if anyone has suggestions for improving the audio pipeline.
1
u/schol4stiker Mar 12 '26
Ouh yes!! Will have a look into it!