
This is a copy of a post prepared for the Esparagus Audio Brick Crowd Supply campaign.
Introduction
The Esparagus Audio Brick was created specifically with the smart home in mind, and although there are a number of alternatives on the market, I think the most popular one is Home Assistant. And the most popular (and easy) way to integrate your device into Home Assistant is ESPHome. If you have never used it before, ESPHome is an independent project that helps you create a configuration for your device in YAML (no coding required), literally in minutes, flash it to the device directly from the HA (no IDE required), and later interact with your newly onboarded device through Home Assistant UI and built-in services.

The beautiful part of ESPhome design is that configs are very easy to share and reuse, so as long as you have ESPHome configured and a device on the desk, you can pull an example config from the linked repo and set up your device in a few mouse clicks.

The last actor on the stage is Music Assistant, which is yet another independent project for Home Assistant that helps you to connect your favorite music providers (TuneIn, Spotify, Tidal, local library, you name it) with your audio device in the HA ecosystem

Simple Media Player
Now, it may sound complicated, but once you connect the dots, the elegance of it starts to shine. So let’s set up a simple media player to play Internet Radio via Audio Brick (or any other audio device you have)
Assuming you have the ESPHome addon installed in the HA, and a device onboarded as per the onboarding page instructions, let’s install the following config on the Audio Brick: audio-brick-idf.yaml

This defines all the board pinouts, imports the TAS5825M component that was created for Audio Brick, and configures it as an output device for the built-in media player component. As soon as the config is flashed onto the device over-the-air, you’ll be able to configure the device in the UI.

Now, I will add the newly created media player to Music Assistant and enqueue my favourite radio station to play. For the fun of it, I will set up clock announcements via HA automations, to demonstrate how beautifully audio will duck for short announcements
Snapclient Component
Being an open ecosystem, ESPHome allows people to create their own components for Home Assistant; one great example of such a project powered by the community is the snapclient component. It can be flashed just as simply using audio-brick-snapclient.yaml config. You can keep using Music Assistant just as before, using the built-in snapserver, but you now have nearly perfect, multi-room synchronized speakers with individual volume control
Sendspin Component
As we all know, where there is a space for 14 open standards for synchronized playback, you can always find a space for the 15th. Kidding aside, the new Sendspin protocol really stands out, with a whole lot of really smart features put into not just perfect audio sync, but also auto-discovery and capabilities exchange protocol, the possibility to use visual renderers (album art and real-time audio visualisations), and simple artist and track information
As before, a simple audio-brick-s3-idf-sendspin.yaml config will get you started, and Music Assistant will auto-discover newly found player. Now, with Sendspin’s extra capabilities, we can not only play synchronized audio, but also display artist and track information on each device. How cool is that?
Conclusion
One more configuration that deserves its own space is a voice assist configuration, which is possible on the ESP32-S3 thanks to its extra horsepower. We’ll dive deeper into that in the next update, as well as looking at some of the DSP settings we can change as desired. Stay tuned!


Leave a Reply
You must be logged in to post a comment.