Skip to content

Instantly share code, notes, and snippets.

@MichaelMKKelly
Last active May 23, 2025 16:29
Show Gist options
  • Save MichaelMKKelly/79b6f5fcb85f424cb510dc4e3f841aff to your computer and use it in GitHub Desktop.
Save MichaelMKKelly/79b6f5fcb85f424cb510dc4e3f841aff to your computer and use it in GitHub Desktop.
M5 Stack Atom Echo - Output on a Different Device

How to output voice assistant from the M5Stack Atom Echo to another media player in home assistant

Start from known firmware state

Install the latest stock ESPHome firmware for the voice assistant on the atom echo

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

Adopt the device into the ESPHome Builder Tool on home assistant

Go through the process of adopting and setting encryption key

Modify the yaml to output to your desired media player

Change the firmware package

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@external-audio-output

Add your Media player to the substitutions section

you should add the following line to the substitutions section

external_media_player: media_player.YOUR_MEDIA_PLAYER_ENTITY_HERE

you should change media_player.YOUR_MEDIA_PLAYER_ENTITY_HERE in this line to the entity of the media player you want the voice assistant to respond on.

Compile and Flash

Press Save - Press Install - Select "Wirelessly"

Give the Atom Echo the ability to execute actions in home assistant

on the esphome integration page click configure on the atom echo device and tick the box:

"Allow the device to perform Home Assistant actions."

and press submit

Troubleshooting

confirm that the external_media_player is set, if this is incorrect you will likely see a error in the home assistant log

confirm that the atom echo has permission to execute actions, if this is not set home assistant will likely raise a repair issue.

ESPHome 2025.5 update

I have updated this to support 2025.5 and use the new components enabling continued conversation.

Known Issues

  • preannounce sounds do not get redirected
  • there is a short delay for microphhone activating to listen to your responce.
  • timer alert is not sent to the target device

despite these issues it should function as expected. I will likely revisit and try and resolve when I have the time

Disclaimer

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment