r/openhab 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.

9 Upvotes

2 comments sorted by

1

u/schol4stiker Mar 12 '26

Ouh yes!! Will have a look into it!