This is a copy of a post prepared for the Esparagus Audio Brick Crowd Supply campaign.
One of the reasons to make an ESP32-S3 version of the board is the more advanced architecture of that chip, which allows for on-chip wake word detection. Similar to the Home Assistant Home device, the Esparagus Audio Brick can serve that role, although admittedly, it was not the main reason I made it. Enabling voice command would require a small soldering job, to attach an I2C mic to the board. (Since not many people use this feature today, I didn’t want to increase each board’s price unnecessarily by adding connectors.)

Like any other ESPhome configuration, it is very easy to set up: just copy-paste the config file from the linked repo and flash the image as usual. When you onboard your device, you will be greeted by a nice new voice-control onboarding wizard, essentially setting up your preferences around local or cloud speech processing.

After that is done, in addition to your media player, you can start talking to the Audio Brick. More information on what is possible, can be found in the official docs.
DAC Settings
Since we have a media player setup, I’d like to dive a little deeper into the settings we can make to the TAS5825M DAC. Generally speaking, this DAC has an impressive list of built-in features:
- Flexible input mixer
- 15x BQ-filters per channel – essentially each serving as an equilizer band, filter, or attenuator.
- 3-band DRC (Dynamic Range Compression) with AGL (Advanced Gain Limiter), which is useful for small enclosures
- 128-tap FIR filter for precise speaker tuning without phase crippling
- Spatializer that increases the depth of the stereo image
- Smart Bass, Excursion Limiter, Thermal Limiter, and Anti Clipper – for great bass without burned speakers
Not all of them are implemented in the ESPHome driver, as we were focused on the most demanded features first, which are basic DAC settings, equalizer, and low- and high-frequency filters for subwoofer and bi-amp configurations. Basic DAC configuration options include Bridge and Mixer Mode for mono-speaker use, and analog gain (if you want to protect your speakers from excessive power).
# ===== DAC Overrides (optional) =====
tas58xx_dac_mode: PBTL # Default is BTL, or simple stereo speakers
tas58xx_mixer_mode: MONO # Default is STEREO, but you can also select LEFT or RIGHT only
tas58xx_analog_gain: 0db # You may reduce it down to -15.5dB to limit output power
tas58xx_volume_max: 0dB # Min and max gain allow the limit or extend the digital gain range
tas58xx_volume_min: -60dB # to make them match other speaker systems you might have
The most exciting feature is the DSP EQ-filter setup. The default configuration you see is a 15-band equalizer that allows you to change desired gains on the fly and switch the equalizer on or off globally:
# Option A: TAS58xx configured with ganged 15-band EQ
- firmware/esphome/packages/dac-tas58xx.yaml
A similar but slightly different config allows you to change both channels individually for asymmetrical speaker configurations:
# Option B: TAS58xx configured with individual 15-band EQ per channel
- firmware/esphome/packages/dac-tas58xx-biamp.yaml

Finally, the third option allows enabling crossover for one or both channels, specifically, it will enable 4-th order filter for subwoofer or satellite outputs using predefined frequencies in the 60-150 Hz range.
# Option C: TAS58xx configured with bi-amp mode, with filters applied to both channels (HF or LF)
- firmware/esphome/packages/dac-tas58xx-presets.yaml
We’re currently working to implement arbitrary frequency selection for true bi-amp configuration; it should be live by the time the campaign ends. More features will come later, and the beautiful thing about open-source is that you get to decide if you want to use them or not; you’re in full control. And you are welcome to make a contribution yourself if your most-needed feature is not implemented yet.
Final Words
In the next update, we will step out of the ESPHome world for a moment to look at the second most used firmware, squeezelite-esp32, and its pros and cons.


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