For the past several months, Home Assistant has been my go-to platform to automate my smart home. This robust software provided me with local voice control, extensive customization options, and privacy controls. Despite packing everything, I missed the straightforward voice control in Home Assistant. I integrated an M5Stack ATOM Echo smart speaker after failing to make Amazon Echo and Apple HomePod work with Home Assistant.
When I got the ATOM Echo speaker, it was hard to believe that a quarter-sized box could work as a smart speaker. I couldn’t have been more wrong. I wanted to explore how this tiny gadget could turn into a voice assistant to help me control and manage all the smart devices linked to my Home Assistant instance. With that objective in hand, here’s my account of how it went.

Related
I replaced Google Home with Home Assistant and a local LLM, and I’m not looking back
I’ve almost retired Google entirely in my home.
The tiny ATOM Echo Speaker works well to engage in voice control
You can control smart devices with voice
In the past, I tried making my smart speakers work as music playback devices to keep them relevant. Most of these cloud-dependent speakers struggle to work with Home Assistant. The $13 open-source ESP32-based M5Stack ATOM Echo smart speaker is an affordable gadget for using voice control with Home Assistant. The ATOM Echo houses a speaker and a microphone within its compact profile.
ESPHome web interface works flawlessly through Google Chrome and Microsoft Edge for flashing or resetting a device.
First, I flashed the latest ESPHome firmware for the ATOM Echo speaker using my Mac, following the official guide, and it barely took 3–4 minutes. Next, I paired it with Home Assistant, which triggered the ESPHome integration. On adding the dedicated IP address for the ATOM Echo speaker, the speaker began configuring the device and also installed the Piper text-to-speech engine in the process. During the configuration, I chose Hey Jarvis as the wake word and set the Focused Local Assistant to use with the device. You can use your Home Assistant Cloud subscription with it if you want.
After setting everything to ATOM Echo, I tried some voice commands to turn on the smart lights or my smart TV. Everything worked like a charm when I used Speech-to-Phrase as the speech-to-text engine. But, it was not responsive or quick in answering subjective questions. I installed the Whisper add-on to try its faster-whisper speech-to-text engine. That worked way better at understanding my voice commands.
Configuring the smart speaker to work with Home Assistant
Setting the voice assistant stack
I tried out different combinations of settings in the ESPHome integration to determine the best one that suits my needs. With the three pre-defined wake word options, I stuck with Hey Jarvis wake word to change the state of the smart devices. Besides, it was easier to trigger the automations or scenes and broadcast the announcements. I struggled to get the ATOM Echo to work with an entirely local option, as it wasn’t suitable for my Raspberry Pi 4 B.
Eventually, I chose Home Assistant as the default Assistant and faster-whisper as the speech-to-text engine. I prefer finished sentence detection to Aggressive so that it can quickly commence processing my commands. You may set it to Relaxed if you run Home Assistant on a Raspberry Pi 5 or a mini PC for faster voice command processing.
In hindsight, I could run a local LLM to process the voice commands and set up a conversation-like feedback model. That meant I needed a powerful machine with a decent amount of RAM and CPU muscle to process things quickly. However, I wasn’t looking to chat with Home Assistant; I only wanted to use voice commands to control smart devices.

- Storage
-
MicroSD card slot
- CPU
-
Arm Cortex-a72 (quad-core, 1.8GHz)
ATOM Echo is a good option to try out voice control
Spending time dealing with the smart speaker
The ATOM Echo’s configuration appears in the ESPHome integration menu, allowing you to try a different wake word and select its engine location to determine which one works best. Also, keeping the default ATOM lights and Listen lights on helped determine when the Echo fails to register any voice commands. To make it trigger automations and scenes, I had to turn on the options from the ESPHome integration.
I had to repeat the voice commands if the area was too windy, or I stood under a fan spinning at full speed. The tiny microphone inside the ATOM Echo unit works well when held close. The microphone and speaker aren’t of higher fidelity than the large speakers and multiple microphones in Google Home, Amazon Echo, or Apple HomePod. Still, it manages to capture voice commands and provides nimble audio feedback. That said, the tiny speaker inside the ATOM Echo isn’t loud enough, and I often miss out on the announcements or errors.

Related
5 things I wish I had known before using Home Assistant
Despite the steep learning curve, there are features to help you catch up quickly and rich community support to help with solutions.
Manage your smart home with local, privacy-friendly voice control
The compact and affordable ATOM Echo speaker is well-suited for basic voice control needs, such as controlling media playback, triggering automations, starting scenes, and more. It took me an hour to configure and customize the ATOM Echo to work with the Voice Assistant stack. It’s fast and responsive to common voice commands, as it functions locally and isn’t cloud-dependent, unlike Alexa or Google Home. The LEDs for feedback are a good way to monitor and diagnose when it can’t process voice commands. Also, using aliases for multiple devices with long names made them easier to control with voice commands. To keep things interesting, I plan to make ATOM Echo respond with the voice of GLaDOS. However, that involves chaining the speaker with a local LLM on my Raspberry Pi 4B, which might be underpowered.