
M5Stack
M5Stack ATOM Echo (ATOM Voice)
- Wi-Fi
- Bluetooth
Verified September 2026
The budget DIY voice satellite the community was building years before the official Voice Preview Edition existed — a sub-£15, thumb-sized ESP32 board with a mic and speaker. Flash it with ESPHome, register it as an Assist Satellite, and pair with openWakeWord for hands-free voice control in a second room. It needs manual flashing and YAML, so it's not a plug-and-play product. USB-C powers it directly with no internal battery, so it needs to stay plugged in — no cordless placement. A Grove expansion connector and a handful of GPIO pins are broken out too, useful if you want to bolt on a sensor rather than just use it as a mic/speaker satellite. As a cheap way to add extra voice satellites around the house alongside the official hardware, nothing else comes close on price.
In Home Assistant
| Control | Type | What it does |
|---|---|---|
| Pipeline state | Sensor | Reports the live voice pipeline stage — idle, listening, processing, responding, or error. |
| Wake word engine | Select | Runtime toggle between on-device wake-word detection and streaming audio to Home Assistant for server-side processing. |
| Status LED | Light | Onboard RGB LED with distinct colour/pulse patterns per pipeline stage, independently automatable as a light entity. |
| Mic mute | Switch | Disables audio capture and wake-word detection, exposed as a controllable entity for privacy or do-not-disturb automations. |
| Button | Event | Onboard button triggers a manual voice interaction on short press, or a factory reset on a long press. |
Setup runs through the ESPHome web installer, but the ATOM Echo has no auto-reset circuit, so you must hold the physical button while plugging in USB-C to force bootloader mode before flashing — a step nothing in the HA UI warns you about. Current ESPHome configs default to on-device wake word detection with a runtime select entity to fall back to streaming detection through Home Assistant if the local model misfires; older community builds ran wake-word detection entirely server-side instead, continuously streaming raw audio to HA over Wi-Fi. The Assist Satellite entity exposes each pipeline stage live, mirrored in real time by a single onboard RGB LED. Community threads consistently flag the mic as the weak point — usable at close range but degrading fast with distance or background noise unless gain and noise-suppression are manually tuned, well short of the official Voice Preview Edition's far-field array.
Specs
- led
- SK6812 addressable RGB (WS2812-compatible)
- mic
- SPM1423 PDM microphone
- chip
- ESP32-PICO-D4, 240MHz dual-core
- size
- 24x24x17mm, 5g
- power
- USB-C, no internal battery — must stay plugged in
- speaker
- 0.5W NS4168 I2S
- expansion
- Grove connector plus broken-out GPIO pins (G21/G25/5V/GND, 3V3/G22/G19/G23/G33); G19/G22/G23/G33 are pre-assigned to onboard hardware, don't reuse them