If you’ve ever wanted to pump sound to all the rooms of your house, you might use any one of a number of commercial solutions. Or, you could go the more DIY route and whip up something like the Esparagus Audio Brick built by [Andriy].
The concept is simple—it’s a small unit, roughly the size of a brick, which streams high-quality audio. It’s based around an ESP32, which pulls in digital audio over Wi-Fi or Ethernet. The microcontroller is hooked up to a TAS5825M DAC, which comes with a built-in amplifier for convenience. The Esparagus is designed for integration with Home Assistant, allowing for easy control as part of a smart home setup. It’s also compatible with Spotify Connect, AirPlay, and Snapcast—the latter of which provides excellent sync when using multiple units across several rooms.
Design files are available on Github for the curious. We’ve seen other neat projects in this space, before, too—like the charmingly-named OtterCast. Video after the break.

this could be interesting, but as above commenter says/implies, why doesn’t it have onboard storage? Someof of us don’t do “home assistants”
Much like I would not care to own or need knitting needles, as some of us do not do “knitting”, you do not need this particular bit of kit? No?
Why ask for features that are clearly outside the scope of a given peoject?
Some think the external world should be designed around their particular needs and desires.
Wouldn’t you consider that to be the ideal case as well?
I mean, who would want the opposite?
There is a difference between what someone would like or want, and what they think “should” be.
Even if it did have onboard storage, having to select which songs to play out of thousands on that user interface is going to defeat the point.
You need the Home Assistant, so you can connect your phone to it and actually control it. If so, you can just as well play music stored on your phone, or from a networked hard drive, or from a cloud storage site. There’s no need for local storage in the device because it is supposed to be a networked device.
It’s hackaday…but if you need to connect your discman to a speaker by all means go for it. The rest of us will self host our own voice assistants and enjoy our completely locally run smart homes.
Kinda unrelated but
You can buy 1$ boards which have an sd card slot, bluetooth, usb connector to accept thumb drives to play audio from. A speaker output plus a 3.5mm jack as well. Just power them using the micro USB port and they work well for years without any supervision
Longer wires distribute my music just fine.
I just tell the minstrels to follow me round the house.
🤣🤣
I just carry the BT speaker with me where I go.
This comment section is abysmal. Who cares if it doesn’t have onboard storage?
The creator clearly had a goal in mind and then took the time to learn and build something fit for purpose. This is prime hackaday material, and I love the end product.
F the haters
Honestly, seems a bit pissy both ways.
On one hand, the OP built things the way he wants it, but shared his files. Be happy.
On the other hand this is HAD, a place where readers routinely discuss “enhancements” to existing projects/products. So chill.
Might as well go for a soda.
Yeah many comments are giving off big Comic Book Guy energy. If dude wanted such and such stuff in the project, it’d be there.
Likewise, it’s weird for people to react to the suggestions like they are antiquated or redundant… The project itself is a neat and elegantly executed bespoke solution to a problem that most people just solve with Bluetooth or by logging their smart speakers in to an Amazon or Google account.
Dunno how much this project would call for it, but SD readers make flashing updates or testing alternate configurations pretty easy, all things considered. But it wasn’t part of the project, and that’s okay too because it’s pretty cool.
Everyone is nice and polite though? Recommending improvements isn’t being mean
Agreed, this section is abysmal. Disagree that there are any haters. Gen Z has clearly entered the chat.
SD would be great functionality to add, and that’s a fair point. The designer didn’t see fit to add it in, that’s fair too. He made the design open so that one could add it if they wanted to. That’s about as fair as it gets. If someone wants it that badly, they can add it themselves. I fail to see where anyone is being a “hater.” What a lazy term…
It’s HAD… welcome to it. Here’s some thicker skin for you. Wild that some folks can get so rattled over an SD card, good grief.
yep, fair to add it or not – but why I made that comment (SD card) is the board is so good in everything it DOES have but a little bit more would have made it much much more versatile. And no, it wouldn’t need a more complicated display, as you could manage via wifi/bluetooth.
Manage local sd card playback by wifi…. you can connect an sd card via wifi
PoE support would improve this project.
The point of this project is to have multiple devices work together.
SD card to pay music is limiting per device.
Updates via SD card would take much more effort than programing directly to the ESP32.
Suggestions for SD card support on a streaming device is like wanting Bluetooth on your microwave oven. Sure you could but why?
Would be nice if it could buzz your phone instead of making that loud DING in the middle of the night.
Nice work! Thank you for sharing and providing excellent brain fodder.