Plug the device into PC and visit this website - https://esphome.io/projects/ select voice assistant and the atom echo device connect and install firmware and configure to wifi credentials
Go through the process of adopting and setting encryption key
in the packages section you will see this line:
m5stack.atom-echo-wake-word-voice-assistant: github://esphome/wake-word-voice-assistants/m5stack-atom-echo/m5stack-atom-echo.yaml@main
change this to:
m5stack.atom-echo-wake-word-voice-assistant: github://MichaelMKKelly/wake-word-voice-assistants/m5stack-atom-echo/m5stack-atom-echo.yaml@delayed-wake
Press Save - Press Install - Select "Wirelessly"
Once installed this firmware will delay the start of voice assistant by 500ms by default.
this was chosen as it accounts for the 300ms of the wake sound of a VoicePE and then 200ms to ensure VoicePE will win a collision
NB: used to be 400 (300+100) but it was changed at 2025.5 as it seemed to need it
To Adjust this you can add a line to your substitutions section. for example if you want to turn off the wake sound on the PE and require only a 300ms delay (this used to be only 100 but after 2025.5 moving to 300 seemed to be needed)
detection_delay: 300ms
This will overwrite the 500ms in the package.
I updated this to support preannounce media and continued conversation using the new components released with 2025.5
However the delays had to be adjusted for some reason I am not sure of. it is now by default 500ms and can be shortened to 300 if you remove the wake sound from a VPE.
You are switching your device to install a firmware package from my fork repo instead of an official esphome repo. my repo may not be as quick to update as official repos in terms of bugfixes etc... and there is always a risk when installing firmware from an unofficial source so you use at your own risk.
If you are uncomfortable using this firmware config then you should reflash back to stock firmware from the link in the first section of this guide.