Hi folks,
I think I am 90% of the way there, but am struggling to find the right way to troubleshoot further…
What I have;
HASS and ESPhome in Docker on Ubuntu. Hass is 2025.5.2, ESPhome is 2025.6.0
an aliexpress special ESP32-C3-Zero dev board (https://www.waveshare.com/wiki/ESP32-C3-Zero), with a MAX98357, INMP441 and the onboard RGB LED, which is a WS2812.
Everything is wired in this config;
ESPHome voice assistant with local wake word – Tristam
suitably modified for the C3-Zero
I have mDNS operating, and Hass sees both the ESPHome container, and the device.
I can open the device’s Web page, and switch the RGB LEd on and off. on the Webpage, I can see the logs, and the device correctly detects when I use the “Hey Jarvis” wakeword…
i see this;
|22:05:29|[D]|[micro_wake_word:325]|Detected 'Hey Jarvis' with sliding average probability is 0.98 and max probability is 1.00|
| --- | --- | --- | --- |
|22:05:29|[D]|[voice_assistant:456]|State changed from IDLE to START_MICROPHONE|
|22:05:29|[D]|[voice_assistant:463]|Desired state set to START_PIPELINE|
|22:05:29|[W]|[light:475]|'LED bar' - No such effect 'scan'|
|22:05:29|[D]|[light:036]|'LED bar' Setting:|
|22:05:29|[D]|[light:047]|State: ON|
|22:05:29|[D]|[light:051]|Brightness: 30%|
|22:05:29|[D]|[light:058]|Red: 100%, Green: 100%, Blue: 100%|
|22:05:29|[D]|[light:085]|Transition length: 1.0s|
|22:05:29|[D]|[micro_wake_word:370]|Stopping wake word detection|
|22:05:29|[D]|[voice_assistant:186]|Starting Microphone|
|22:05:29|[D]|[ring_buffer:034]|Created ring buffer with size 16384|
|22:05:29|[D]|[voice_assistant:456]|State changed from START_MICROPHONE to STARTING_MICROPHONE|
|22:05:29|[D]|[micro_wake_word:378]|State changed from DETECTING_WAKE_WORD to STOPPING|
|22:05:29|[D]|[voice_assistant:456]|State changed from STARTING_MICROPHONE to START_PIPELINE|
|22:05:29|[D]|[micro_wake_word:273]|Inference task is stopping, deallocating buffers|
|22:05:29|[D]|[micro_wake_word:278]|Inference task is finished, freeing task resources|
|22:05:29|[D]|[micro_wake_word:378]|State changed from STOPPING to STOPPED|
|22:05:29|[D]|[voice_assistant:207]|Requesting start|
|22:05:29|[D]|[voice_assistant:456]|State changed from START_PIPELINE to STARTING_PIPELINE|
|22:05:29|[D]|[voice_assistant:478]|Client started, streaming microphone|
|22:05:29|[D]|[voice_assistant:456]|State changed from STARTING_PIPELINE to STREAMING_MICROPHONE|
|22:05:29|[D]|[voice_assistant:463]|Desired state set to STREAMING_MICROPHONE|
|22:05:58|[D]|[light:036]|'LED bar' Setting:|
|22:05:58|[D]|[light:047]|State: OFF|
|22:05:58|[D]|[light:085]|Transition length: 1.0s|
|22:10:29|[D]|[voice_assistant:159]|reset conversation ID|
So, What isn’t working;
-
when I add the device under ESPhome in HASS, it adds 6 entities - “assist satellite”, assistant, “finished speaker detection”, LED bar, mute Microhpne and “va” - the smartspeaker wake word entity -but this is “unavailable”.
-
It doesn’t make a sound.
What I don’t understand, and need some help troubleshooting is
-
how do i make the wake_word entity become available? I can’t seem to “connect” it to the HASS assistant, as it is greyed out.
-
how do i make the speaker play a sound or say something so i can test the sound output.
I suspect that the sound hardware is working “kinda”, as I originally had the i2S data lines for the mic and speaker swapped, causing the speaker to crackle a lot. clearly it’s capable of making some sound