Louder-ESP32 combines ubiquitous ESP32 with an I2S DAC with a built-in D-class amplifier capable of driving full-size speakers.
Louder-ESP32-Plus combines ESP32 with an external I2S DAC with powerful DSP features, capable of driving full-size speakers. This combination provides your compact and efficient ESP32 module with the necessary memory and capabilities to stream high-quality audio.
Louder-ESP32-Plus is a flexible, open-source audio platform designed to fit into both smart homes and custom audio projects.
| Louder-ESP32 | Louder-ESP32-Plus | |
|---|---|---|
| MCU | ESP32-WROVER-N8R8 or ESP32-S3-WROOM-N8R8 | ESP32-WROVER-N8R8 or ESP32-S3-WROOM-N8R8 |
| DAC | Stereo I2S DAC (TAS5805M) with built-in DSP and D-Class amp | Stereo I2S DAC (TAS5825M) with built-in DSP and D-Class amp |
| Output (4Ω, 1% THD+N) | 2x 32W | 2x 45W |
| Output (8Ω, 1% THD+N) | 2x 23W | 2x 32W |
| Output (Bridge, 4Ω, 1% THD+N) | 1x 45W | 1x 53W |
| Flash/PSRAM | 8MB/8MB | 8MB/8MB |
| Power | Up to 26V from external PSU | Up to 26V from external PSU |
| Connectivity | WiFi + BT4.2 (except S3) + BLE Ethernet (optional module) | WiFi + BT4.2 (except S3) + BLE Ethernet (optional module) |
| DSP Features | Advanced (EQ, FIR, DRC, AGL, etc.) | Advanced (EQ, FIR, DRC, AGL, Smart Amp, SmartEQ, Smart Bass) |
| Software support | ||
| Squeezelite-ESP32 | ✅ | ✅ |
| Snapclient | ✅ | WIP |
| 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-ESP32 and Amped-ESP32
💡 Don't need DSP capabilities? Check out Loud-ESP32
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.
| I2S CLK | I2S DATA | I2S WS | PSRAM RESERVED | TAS5805 SDA | TAS5805 SCL | TAS5805 PWDN | TAS5805 FAULT | |
|---|---|---|---|---|---|---|---|---|
| ESP32 | 26 | 22 | 25 | 16, 1 | 21 | 27 | 33 | 34 |
| ESP32-S3 | 14 | 16 | 15 | 35, 36, 37 | 8 | 9 | 17 | 18 |
| SPI CLK | SPI MOSI | SPI MISO | ETH CS | SPI HOST/SPEED | ETH INT | ETH RST | |
|---|---|---|---|---|---|---|---|
| ESP32 | 18 | 23 | 19 | 05 | 2/20MHz | 35 | 14 |
| ESP32-S3 | 12 | 11 | 13 | 10 | SPI2/20MHz | 6 | 5 |
| IR IN | RGB OUT | OLED SPI HOST/SPEED | OLED SPI CLK | OLED SPI MOSI | OLED SPI MISO | OLED SPI CS | OLED SPI DC | OLED RST | |
|---|---|---|---|---|---|---|---|---|---|
| ESP32 | 39 | 12 | 2/20MHz | 18 | 23 | 19 | 15 | 4 | 32 |
| ESP32-S3 | 7 | 21 | SPI2/20MHz | 12 | 11 | 13 | 47 | 38 | 48 |
Both versions of the Louder-ESP32 boards (ESP32 Rev. H6+, ESP32-S3 Rev. K0+) have an unsoldered header for external I2S mic: left and right channels. ESP32 uses the same I2S bus with an extra DATA IN pin due to the pin limitations, while S3 uses a dedicated I2S bus. It can be used for wake word functionality in the Home Assistant or for custom firmware.
| I2S CLK | I2S WS | I2S DATA | |
|---|---|---|---|
| ESP32 | 26 | 25 | 13 |
| ESP32-S3 | 41 | 40 | 39 |
The mic model that I used for testing and validation is the INMP441 MEMS microphone; the pinout is created for this model. Other models might be available.
Both Louder-ESP32 versions were created specifically to be used with Home Assistant via ESPHome integration. For both boards, rich configs were pre-created with hardware configuration for common use cases. These include
Configurations are being actively maintained and upgraded, new experimental components added for you to test and enjoy
ESP32-S3 boards have two ways of firmware update: (1) similarly to classic ESP32, they can be flashed over the built-in UART, or (2) uniquely for S3, over built-in USB host controller. Since it is firmware-controlled, and may be disabled if not used (or, more commonly, not available with factory default empty firmware). When come unflashed ESP32-S3 device comes into a boot loop, with a USB-CDC device appearing and disappearing every second, and requires a special flashing initialisation sequence to get flashed:
esp_toolPlease visit the hardware section for board schematics and PCB designs. Note that PCBs are shared as multi-layer PDFs.
Every board has a header that allows soldering in the W5500 SPI Ethernet module, which is very easy to find. The only downside is that with the module installed, the board will not fit the case unless it is cut to accommodate extra height.
Louder-ESP32 and Louder-ESP32-Plus boards are mechanically compatible with Raspberry Pi 4 cases, and they are very easy to source
| Louder-ESP32-Plus |
|---|
TAS5825M DAC 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 command. In the case of sqeezelite DAC controls, the set 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%) |
| Speaker Connection |
The TAS5825M DAC has a very powerful DSP, which 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:
At this moment, I'm adding the most useful features one by one, focusing on EQ and Bi-amp filtering capabilities. All of the above are available right now for experimentation. I'm keen to hear your feedback while I'm moving forward with porting this to other software options
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.
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.