A project shared on the Home Assistant community forum shows a cheap way to get local, synchronized whole-home audio. The poster, Thing Too Tech, bought a pair of Yamaha NX-GX50 speakers at a thrift store for $11 each and put a small ESP32 audio board inside each one. We have not tried this ourselves, so what follows is their account and what it means for an installed system.
What happened
The poster started with a house full of thrift-store Google speakers. Those worked well until they had eight or ten playing together, when things got unpredictable. They wanted more local control, tried Squeezelite, Snapcast and several ESP32 players, and ended up on Music Assistant and Sendspin.
For the Yamahas, they installed one Sonocotta Louder-ESP32-Mini board per speaker. Per the post, each board combines the ESP32, audio hardware and an amplifier, so no separate receiver is needed. They flashed ESPHome/Sendspin firmware, added the boards to Home Assistant, and had music playing in about half an hour. Their own warning: “enthusiasm is not firmware”, because they mounted the first board before flashing it. The protective shells were 3D printed at a local library.
The two speakers are configured as a stereo pair through Music Assistant. According to the post they:
- stay synchronized with the rest of the house
- handle Home Assistant announcements
- support ducking (lowering the music during an announcement)
- offer fifteen bands of EQ inside Home Assistant
They say the pair replaced four Google speakers and that the difference is “pretty remarkable.” They also play alongside other Sendspin players and some older Google speakers through Music Assistant, so you do not have to replace everything at once.
One disclosure matters: Sonocotta supplied the two boards for free, and the poster bought the speakers. The poster also says Sonocotta’s Andriy helped with the EQ setup. Treat the “remarkable” verdict as one enthusiast’s impression, not a test.
What it means for your system
This is a build-it-yourself route. ESPHome is a platform where you own the configuration, the updates and the hardware quality, and ESPHome devices are mostly Wi-Fi based. That brings the usual Wi-Fi trade-offs: they depend on your access points and network health, and 2.4 GHz is shared spectrum. If your whole-home audio already struggles on a crowded network, adding more Wi-Fi players will not fix that.
On the plus side, ESPHome control is local and open source, with no vendor cloud in the path. That is the real appeal compared with cast-style speakers, whose behaviour the poster found unpredictable at scale.
What to check before you try it
- Is the speaker suitable? The post does not give wiring or power details, so we will not guess. Opening a speaker and connecting an amplifier board is your responsibility. Follow the poster’s write-up and the board maker’s documentation, not a forum summary.
- Your Home Assistant setup. The project relies on Music Assistant and Sendspin alongside Home Assistant. Confirm you already run Music Assistant before buying hardware.
- Network health. Check Wi-Fi coverage where the speakers will sit, since each one is a Wi-Fi client.
- Start small. Do one pair before converting a house. Flash the firmware before you mount the board, as the poster learned.
Buy or wait?
If you enjoy tinkering and have good speakers sitting unused, this is a low-cost way to give them a second life. If you need a supported, install-and-forget system for a client, a hobby board in a thrift-store speaker is not that, and we would not sell it as one. We will watch for more owner reports on how Sendspin behaves with larger groups of speakers.
The original forum post, including photos of the finished build, is here. The poster links a longer write-up from there.
