# Louder Esparagus

ESP32-based micro media center with TAS5805M DAC with built-in DSP

- **Seller:** [Sonocotta store](https://lectronz.com/stores/sonocotta), Warsaw, Mazowieckie, Poland
- **Price:** $69.00 (USD, before shipping and taxes)
- **Availability:** Sold out
- **Categories:** Home automation, ESP32, Audio
- **Product page:** https://lectronz.com/products/louder-esparagus

## Options

**Board version**

- NOPD (generic power adapter) with semi-transparent front panel □ (0 left)
- DUAL (PD-enabled or generic power adapter) with semi-transparent front panel □ [Add $5.00] (0 left)

## Links

- [Documentation](https://sonocotta.com/louder-esparagus/)
- [Code](https://github.com/sonocotta/esparagus-media-center/)

## Images

![Louder Esparagus](https://lectronz-images.b-cdn.net/lectronz/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6NDc5NDYsInB1ciI6ImJsb2JfaWQifX0=--2ae1d873a5227a3e50fcfe7ee2b97c03f3abfed5/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJKUEciLCJyZXNpemVfdG9fbGltaXQiOls5NjAsNjQwXSwic2F2ZXIiOnsic3RyaXAiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--a1419a086f227676aca33a49760ac51e58b523e3/DSC_0103.JPG)
![Louder Esparagus](https://lectronz-images.b-cdn.net/lectronz/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6NDc5MzQsInB1ciI6ImJsb2JfaWQifX0=--f35a84124d851799fdc0bc019540540f278be454/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJKUEciLCJyZXNpemVfdG9fbGltaXQiOls5NjAsNjQwXSwic2F2ZXIiOnsic3RyaXAiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--a1419a086f227676aca33a49760ac51e58b523e3/DSC_0719%20(copy%201).JPG)
![Louder Esparagus](https://lectronz-images.b-cdn.net/lectronz/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6NDc5MzgsInB1ciI6ImJsb2JfaWQifX0=--53839a1c8a7f0b3cade88d918f3d3ec1fd79bbec/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJKUEciLCJyZXNpemVfdG9fbGltaXQiOls5NjAsNjQwXSwic2F2ZXIiOnsic3RyaXAiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--a1419a086f227676aca33a49760ac51e58b523e3/DSC_0721.JPG)
![Louder Esparagus](https://lectronz-images.b-cdn.net/lectronz/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6NDc5NDIsInB1ciI6ImJsb2JfaWQifX0=--cac043be8c17b1b9a10f927ec39847d2084f15b0/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJKUEciLCJyZXNpemVfdG9fbGltaXQiOls5NjAsNjQwXSwic2F2ZXIiOnsic3RyaXAiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--a1419a086f227676aca33a49760ac51e58b523e3/DSC_0085.JPG)

## Description

# What is it

**Louder Esparagus**  is a top-of-the-range Esparagus model that uses modern, highly capable TAS5805M DAC together with ESP32 MCU and is aimed to be paired with medium-to-large speaker systems. With 25W per channel stereo output, it packs a punch and can easily enliven living quarters or dorm rooms. 

It is highly efficient, but much more demanding for power when cranked; therefore, it uses either a USB-C Power Delivery to pull up to 65W from the wall power adapter or an external power source for the NOPD variant. 

It can be used both with Wi-Fi and Ethernet (to make sure bad Wi-Fi would not interrupt the stream)

| USB-PD  |  NOPD |
|---|---|
| ![DSC_0719](https://github.com/sonocotta/esparagus-media-center/assets/5459747/acca2da1-a52f-4d44-b1a7-9d6dc896c549) | ![DSC_0085](https://github.com/user-attachments/assets/810453ac-9bb5-41eb-ac3b-7868260e7631)

## Motivation

I did a few audio projects in the past, some using [ESP32](https://hackaday.io/project/173620-loud-esp), some using larger [Orange Pi](https://hackaday.io/project/191936-orange-pi-home-media-center) and [Raspberry Pi](https://hackaday.io/project/162373-orangepi-zero-pulse-music-server-using-i2s-dac) devices. Each has its pros and cons, and with each iteration, I'm trying to focus on the details that were working best for me, while actually using them. 

What I like about ESP32 is how lightweight it is. It barely draws power, so you may not care to turn it off at all. It boots in seconds and is ready for use in a snap. Still, it is capable and works at par with Linux SBC solutions for audio applications, while costing a fraction of their price. Combined with a proper Hi-Fi DAC, you would not tell a difference to commercial devices standing side by side and costing much more.

Over the last few years, I have seen a few amazing software products created to deliver audio on the ESP32, like [squeezelite-esp32](https://github.com/sle118/squeezelite-esp32) or  [euphonium](https://github.com/muvox-io/euphonium). Esparagus media center devices are designed specifically to run these great pieces of software and bring a new life into aging audio equipment that most of us have at home but do not use that much these days, since it is not working with Spotify and the family.


## Features

|  | **Louder Esparagus** | [Esparagus Audio Brick](https://www.crowdsupply.com/sonocotta/esparagus-audio-brick) |
|---|---|---|
| MCU | ESP32-WROVER-N8R8 | ESP32-WROVER-N8R8 or ESP32-S3-WROOM-N8R8 |
| DAC | Stereo I2S DAC (TAS5805M) with built-in D-Class amp | Stereo I2S DAC (TAS5825M) with built-in D-Class amp |
| Output (4Ω, 1% THD+N) | 2x 32W | 2x 45W |
| Output (8Ω, 1% THD+N) | 2x 23W | 2x 30W |
| Output (Bridge, 4Ω, 1% THD+N) | 1x 45W | 1x 53W |
| IR reader | ✅ | ❌ |
| RGB LED | ✅ | ✅ |
| I2S Microphone | ❌ | ✅ |
| OLED screen | ✅ | ✅ |
| Flash/PSRAM | 8MB/8MB | 8MB/8MB |
| Connectivity | WiFi + BT4.2 + BLE + Ethernet | WiFi + BT4.2 + BLE + Ethernet |
| Case | 88 x 38 x 100 mm Aluminum case | 110 x 100 x 50 mm DIN-rail mountable case |
| Power requirement | Generic power adapter 5..28V or USB-PD capable power adapter | Generic power adapter 5..28V |
| **Software support** |  |  |
| Squeezelite-ESP32 | ✅ | ✅ |
| Snapclient | ✅ | ✅ |
| ESPHome (HA) | ✅ | ✅ |


⚠️ *Louder boards will connect to passive speakers; you can't use headphones or an external amp*

💡 *Need to connect an external amp? Check out [HiFi Esparagus](https://lectronz.com/products/hifi-esparagus) and [Amped Esparagus](https://lectronz.com/products/amped-esparagus)*

💡 *Don't need DSP capabilities? Check out [Loud Esparagus](https://lectronz.com/products/loud-esparagus)*

💡 *Looking for a more cost-efficient version? [Louder-ESP32](https://lectronz.com/products/louder-esp32) / [Louder-ESP32-Plus](https://lectronz.com/products/louder-esp32-plus)*

### Onboard PSRAM

Audio streaming requires proper buffering to work, even with the ESP32's 500K of RAM; it is a challenging task. For that reason, all Louder-ESP32 board versions have an 8 MB PSRAM chip onboard, connected via a high-speed interface. 

## Which chip: ESP32 or ESP32-S3?

This board is available with either the 'classic' ESP32 or the newer ESP32-S3. They are not interchangeable for every use case, and picking the wrong one is the single most common support question — here's the short version:

- **ESP32-S3 is the newer, more capable chip** — more RAM headroom, a faster CPU, and native USB — but it has **no Bluetooth Classic radio**, so Bluetooth A2DP only works on the original ESP32.
- **Squeezelite-ESP32 and standalone Snapclient**: pick the **classic ESP32**. Neither firmware is fine-tuned for the S3 yet, and current S3 support is noticeably laggier.
- **ESPHome / Home Assistant media player**: pick **ESP32-S3**. The new Sendspin renderer runs much better on the S3's extra headroom.
- **Voice assistant (wake word) in Home Assistant**: **ESP32-S3 is mandatory** — the classic ESP32 doesn't have the RAM/CPU headroom to run it.
- **AirPlay 1 & 2** ([rbouteiller/airplay-esp32](https://github.com/rbouteiller/airplay-esp32)): both chips are fully supported; ESP32-S3 is preferred for its extra performance headroom.

| Your use case | Pick |
|---|---|
| Bluetooth A2DP from a phone/laptop | **ESP32** |
| Squeezelite-ESP32 or standalone Snapclient | **ESP32** |
| ESPHome media player / Sendspin | **ESP32-S3** |
| Home Assistant voice assistant | **ESP32-S3** |
| AirPlay 1 & 2 | Either — **ESP32-S3** for more headroom |

If none of that applies to you and you just want the safe default, pick **ESP32-S3** — it's the newer chip. Only choose classic ESP32 if you specifically need Bluetooth A2DP, or plan to run Squeezelite-ESP32/Snapclient today.

## Board Pinout

### Audio

|       | I2S CLK | I2S DATA | I2S WS | PSRAM CE | PSRAM CLK |  DAC EN (MAX98357A) 
|-------|---------|----------|--------|----------|-----------|-----------|
| ESP32 | 26      | 22       | 25     | 16       | 17        | 13

### Peripheral - OLED Screen and W5500 Ethernet (Louder Esparagus)

|       | SPI HOST| SPI CLK  |SPI MOSI| SPI MISO | LAN RES   | LAN CS    | LAN INT   | OLED DC   | OLED CS   | OLED RST  |
|-------|---------|----------|--------|----------|-----------|-----------|-----------|-----------|-----------|-----------|
| ESP32 |    2    |  18      |  23    |   19     |  14       |  5        |  35       |    4      |   15      |    32     |

### TAS5805M DAC (Louder Esparagus)

|       | I2C CLK | I2C DATA |  PWDN  |  FAULT   |
|-------|---------|----------|--------|----------|
| ESP32 |    27    |  21     |  33    |  34


### Other Peripheral (Louder Esparagus)

|       | USB-PD EN | USB-PD POWER GOOD | IR INPUT |   WS2812 RGB LED
|-------|---------|----------|--------|----------|
| ESP32 |    13   |   36     |    39  | 12       | 

# Software Options

*   **Home Assistant** smart home audio and notifications.
    Start from the [web-installer](https://web.esphome.io/), as soon as you configure WiFi, the boards will be discovered by the ESPHome add-in automatically. Dedicated configs can be found in the [documentation](https://github.com/sonocotta/esp32-audio-dock/tree/main/firmware/esphome) for simple and stable media-player, experimental sendspin protocol, and experimental snapclient component
*   **Squeezelite-ESP32** Spotify Connect, AirPlay, Bluetooth or Logitech Media Server.
    Flash directly from your browser using the [web-installer](https://sonocotta.github.io/esparagus-media-center/). Configure WiFi using Hotspot (default password: squeezelite). Don't forget to exit Recovery mode when done.
*   **Snapclient** multi-room audio streaming with snapserver.
    Flash directly from your browser using the [web-installer](https://sonocotta.github.io/esparagus-snapclient/), as soon as you configure the WiFi board will discover the snapserver automatically
*   **Snapclient (edge)** - developer version.
    Developer's version of the snapclient, less stable and more feature-rich for those who cannot wait for new features to be released. Installed via [web-installer](https://anabolyc.github.io/esparagus-snapclient-edge/), similar to standard snapclient
*   **AirPlay 1 & 2** with Sendspin, Bluetooth, and full DSP control.
    Native, actively developed AirPlay 1 & 2 firmware ([rbouteiller/airplay-esp32](https://github.com/rbouteiller/airplay-esp32)) with PTP multi-room sync, an experimental Sendspin renderer, Bluetooth A2DP on the ESP32 revision, and full 15-band DSP control over the TAS5805M from the board's web UI. Flash straight from your browser with the [web-installer](https://rbouteiller.github.io/airplay-esp32/getting-started/flashing/) — no toolchain needed. See [AirPlay 2 support](#airplay-2-support) below for details.
*   **Your own software**.
    Use [Arduino IDE](https://www.arduino.cc/en/software/) or [Platformio IDE](https://platformio.org/install/ide) and the provided [software samples](https://github.com/sonocotta/esp32-audio-dock/blob/main/firmware)

## AirPlay 2 support

Louder Esparagus runs [rbouteiller/airplay-esp32](https://github.com/rbouteiller/airplay-esp32), an open-source **AirPlay 1 & 2** receiver you can flash straight from your browser via the [web-installer](https://rbouteiller.github.io/airplay-esp32/getting-started/flashing/) — no PlatformIO or toolchain required. It's a separate firmware image from Squeezelite-ESP32 and Snapclient above, so flash whichever matches how you want to use the board.

- **AirPlay 1 & 2** — shows up natively in Control Center and any AirPlay app, with PTP-based multi-room sync
- **Sendspin** (experimental) — an open multi-room protocol renderer sharing the same output path, DSP, and volume control as AirPlay
- **Bluetooth A2DP** on the ESP32 revision — phones and laptops can stream directly whenever AirPlay is idle (the ESP32-S3 revision has no Bluetooth Classic radio)
- **On-device display** — the OLED (ESP32 revision) or color TFT (ESP32-S3 revision) shows track metadata and progress for AirPlay, Bluetooth, and Sendspin alike
- **USB audio (UAC)** — the ESP32-S3 revision can be built as a USB sound card for a connected computer, sharing the same DAC path and DSP
- **Full DSP control** — the TAS5805M's on-chip EQ is fully exposed: 15 cascaded biquad sections per channel, each an arbitrary peaking filter, shelf, high/low pass, band pass, notch, phase shift, or raw coefficients, plus a crossover builder — all from the board's web UI

### TAS58xx DSP: full parametric EQ and crossover control

AirPlay 2 support above isn't just playback — it exposes the TAS5805M's on-chip DSP in full from the board's web UI:

- **15 biquad (BQ) filters per channel**, usable as a full 15-band parametric equalizer
- **Bi-amp filter configuration** for 2-way speaker systems — split the signal between tweeter and woofer with independent filter chains per amplifier
- **Low-pass filtering for subwoofer tuning and bass enhancement**
- **Generic filters for speaker and room equalization** — peaking filters, shelf filters, and EQ sections with a configurable Q-factor, applied per channel individually or to both at once

| A | B |
|------|------------|
| ![dsp-frequency-response](https://github.com/user-attachments/assets/c5d6fd74-e1ad-4bee-bc38-02b2b4a6d051) | ![dsp-filter-settings](https://github.com/user-attachments/assets/d6ad9d34-c694-41f6-bd89-6deab1791fcf) |

**Work in progress:** REW (Room EQ Wizard) integration, to drive automatic room-correction algorithms directly from a measured response.

## Using with Home Assistant

Both HiFi Esparagus versions were created specifically to be used with Home Assistant via ESPHome integration. For both boards, rich [configs](https://github.com/sonocotta/esparagus-media-center/tree/main/firmware/esphome) were pre-created with hardware configuration for common use cases. These include

- media_player component for simple and robust media playback and TTS announcements (with ducking effect)
- Sendspin media player – new experimental protocol for multi-room sync with media controls and more
- An experimental snapclient component that allows near-perfect multi-room sync and seamless integration with Music Assistant
- Another snapclient fork with an implemented 15-band software equalizer and a rich set of EQ presets
- Voice assist config does not exist for Louder Esparagus yet, since it required S3 version of the ESP32. It is as work in progress.

Configurations are being actively maintained and upgraded, new experimental components added for you to test and enjoy

## Hardware

Please visit the [hardware](https://github.com/sonocotta/esparagus-media-center/tree/main/hardware) section for board schematics and PCB designs.

### BTL and PBTL mode (TAS5805M DAC)

[TAS5805M DAC](https://www.ti.com/lit/ds/symlink/tas5805m.pdf?ts=1701767947387) Allows 2 modes of operation - BTL (stereo) and PBTL (parallel, or mono). In Mono amp will use a completely different modulation scheme and basically will fully synchronize output drivers. Jumpers on the board allow both output drivers to connect to the same speaker. The most important step is to inform the Amp to change modulation in the first place via I2C comman. In the case of sqeezelite DAC controlsset value is the following:
dac_controlset: {"init":[{"reg":3,"val":2},{"reg":3,"val":3},{"reg":2,"val":4}],"poweron":[{"reg":3,"val":3}],"poweroff":[{"reg":3,"val":0}]}

compared to default:
dac_controlset: {"init":[{"reg":3,"val":2},{"reg":3,"val":3}],"poweron":[{"reg":3,"val":3}],"poweroff":[{"reg":3,"val":0}]}

One can test audio with a single speaker connected between L and R terminals (plus on one side and minus on the other). Optionally, jumpers on the board will effectively connect the second driver in parallel doubling the current capability.

Important point, this will send only one channel to the output, that’s just how the DAC works. True mono as (L+R)/2 is possible via more in-depth configuration (very poorly documented), but I haven’t managed to configure that on the stand. I’m still working on that. (Along with a few more really cool DSP features that this DAC has, like EQ, subwoofer mode and tone compensation settings)

|  | BTL | PBTL |
|---|---|---|
| Descriotion | Bridge Tied Load, Stereo | Parallel Bridge Tied Load, Mono |
| Rated Power | 2×23W (8-Ω, 21 V, THD+N=1%) | 45W (4-Ω, 21 V, THD+N=1%) |
| Schematics | ![image](https://github.com/sonocotta/esp32-audio-dock/assets/5459747/e7ada8c0-c906-4c08-ae99-be9dfe907574) | ![image](https://github.com/sonocotta/esp32-audio-dock/assets/5459747/55f5315a-03eb-47c8-9aea-51e3eb3757fe)
| Speaker Connection | ![image](https://github.com/user-attachments/assets/6f6542c6-8e7f-4cc1-b306-1ffdd5f6a90c) | ![image](https://github.com/user-attachments/assets/476fdd80-be47-419d-931b-49d33ecc3abe)

Starting from Rev E, an additional header is exposed to allow datasheet-specced connectivity

| Image  | Legend  |
|---|---|
| Stereo Mode - leave open | ![image](https://github.com/user-attachments/assets/c99137a1-c04b-46c3-bc47-9b269bd905ca) |
| Mono (PBTL) Mode, close horisontally | ![image](https://github.com/user-attachments/assets/0b724400-877e-4faa-be5b-610cc5df055b)

### TAS5805M DSP capabilities

The TAS5805M DAC has a very powerful DSP, that allows doing lots of data processing on the silicon, that otherwise would take a considerable part of your CPU time. As of the moment of writing it is mostly an undiscovered part of the DAC, since unfortunately, TI is not making it very easy for developers. (A minute of complaint) To be more specific, you need to be (A) a proven hardware manufacturer to get access to the configuration software, namely PurePath. (B) you need to apply for a personal license and go through an approval process, and after a few weeks of waiting you get access to one DAC configuration you asked for. (C) You find out that it will work with TI's own evaluation board that will set you back $250 if you'd be able to find one. Otherwise, all you have is a list of I2C commands that you need to transfer to the device on your own cost. No wonder no one knows how to use it.

But moanings aside, what do you get after:

- Flexible input mixer with gain corrections
- 15 EQ with numerous filter configurations
- 3-band Dynamic Range Compression with flexible curve configuration
- Automatic Gain Limiter with flexible configuration
- Soft clipper

At this moment it is very experimental. In the perfect world, you should be able to adjust all of those settings to make your speaker-enclosure setup work the best it can, and even apply your room factors into the equation. It is a work in progress.

### Louder Esparagus power considerations

The Louder Espragus can be quite a power-hungry device, simply using 5V over the USB-C is clearly not an option. The intention for using a PD-enabled power adapter to run the board is simplicity and ease of use for customers. Ideally, you should supply a 20V 3.25 Amp capable power source, which is common for modern laptops (Dell, HP, and Lenovo have all tested and work perfectly). However, pretty much any 9V/12V/20V PD-enabled power adapter will work, most typically phone chargers with a quick charge option. The smallest of the family is a 25W model, which is plenty enough for a living space.

The interesting part was all the phone and laptop chargers I used for the test (around five different makes of each), sounded great, with no hissing, no popping. (Apart from the Apple ones, they didn’t work. Likely they have Apple-specific PD protocol). This is probably because modern devices have become so noise-sensitive that manufacturers have been forced to do good work on noise levels.

Because USB-PD is a bit of a Wild West in terms of standards, sometimes not everything goes as designed. Some people have run into this with power adapters that aren’t fully PD-standard compliant. In most cases, the worst that happens is the PD chip doesn’t trigger the 20V mode, so the Esparagus runs at around 5W per channel (which you might not even notice). One person reported that an older adapter somehow triggered just 1V on the USB-C power line, shutting down the Esparagus shortly after plugging in. Thankfully, we’ve confirmed that it works correctly with newer laptop adapters.

#### External voltage selection

The power adapter specs depend on the speaker you're planning to use. DAC efficiency is close to 100%, so just take the power rating of your speaker (say 2x10w), and impedance (say 8 ohms) and you'd need at least 9 volts rated at 1.2 amps per channel, round up to 3 total amps. 

It is not recommended to go beyond the voltage your speakers can take, otherwise, the amp will blow your speakers in no time. 

The absolute maximum voltage for the TAS5805M DAC is 30V, but it is not guaranteed to be thermally stable in this condition.

# Restocking & Availability

New restock batches are regularly ordered from the factory, and I plan to keep all versions available at least until the next board revision is released. For current availability, you can also check the official reseller [Elecrow](https://www.elecrow.com/louder-esparagus-media-center.html).

## USA shipping Update

Due to the new tariffs introduced by the Trump administration, standard shipments are temporarily on hold. However, shipping to the US has now resumed via UPS, though rates are currently quite high. I’ll fully resume regular shipping as soon as the restrictions are lifted. In the meantime, you may consider ordering through [Elecrow](https://www.elecrow.com/louder-esparagus-media-center.html).

## Sponsorship & Community Support

If you’re working on an open-source project, an educational initiative, or any pro-bono/volunteer effort, feel free to reach out for sponsorship details. I’ll do my best to provide discounts or even free boards.

## Custom Design & Consultation

If you’re interested in a custom design based on, or inspired by, my boards, I also offer contract design work and consultation when needed.

## Shipping policy

Most orders are shipped the next business day morning. All shipments are tracked. Delivery time in the EU is 3-7 days, outside 2-3 weeks, depending on the distance. After 30 days, the package is considered lost - reach out for a refund or replacement.
