ESP32 Dock with PCM5100 I2S DAC, delivering 2.1V RMS audio with -100Db noise level
Designed by Sonocotta in Poland
Buy with confidence.
Our Tindie Guarantee protects your purchase from fraud. Learn More
Availability A new batch is coming from the factory around the second half of October. You may also visit the official reseller store for availability. As the S3 version is still very much experiment…
Read More…A new batch is coming from the factory around the second half of October. You may also visit the official reseller store for availability.
As the S3 version is still very much experimental in terms of available software, the new batch is only regular ESP32 boards. Please feel free to reach out in case you are specifically interested in using the S3 variant.
Hifi-ESP32 Audio combines ubiquitous ESP32 with an external I2S DAC capable of delivering proper HiFi audio with very low noise levels. This combination provides your compact ESP32 module with the necessary memory and RAM capabilities to develop Hi-Fi products.
I spent the last few years developing different solutions based on ESP devices. It all started with ESP8266, where CPU power is not really sufficient to do real-time decoding, so you're limited to a rather simple ding-dong business. Then ESP32 came, bringing two much more capable cores, so you have a powerhouse to handle communication and decoding at the same time. Perhaps most importantly it also came with SPIRAM, so you can do decent buffering (essential for streamed content). Now new ESP32 C-Series and S-Series chips are entering the market, and their potential is mostly unrealized as of today.
I created ESP32 Audio docks and subsequently development boards, to be able to quickly prototype for the whole range of ESP8266 and ESP32 chips, starting with the simplest finger-sized toys and going all the way up to full-sized speakers.
Recently I went a rabbit hole of Home Assistant integrations and discovered different ways ESP32 with a decent DAC can be integrated into complex Home setups.
HiFi-ESP32 | HiFi-ESP32S3 | Loud-ESP32 (coming soon) | Loud-ESP32S3 (coming soon) | Louder-ESP32 | Louder-ESP32S3 | |
---|---|---|---|---|---|---|
Work in progress, coming soon... | Work in progress, coming soon... | |||||
MCU | ESP32-WROVER-N16R8 | ESP32-S3-WROOM-N16R8 | ESP32-WROVER-N16R8 | ESP32-S3-WROOM-N16R8 | ESP32-WROVER-N16R8 | ESP32-S3-WROOM-N16R8 |
DAC | PCM5100A 32bit Stereo DAC -100 dB typical noise level | PCM5100A 32bit Stereo DAC -100 dB typical noise level | Dual I2S DAC (MAX98357) with built in D-Class amp | Dual I2S DAC (MAX98357) with built in D-Class amp | Stereo I2S DAC (TAS5805M) with built in D-Class amp | Stereo I2S DAC (TAS5805M) with built in D-Class amp |
Output (4Ω) | Non-amplified stereo output, 2.1V RMS | Non-amplified stereo output, 2.1V RMS | 2x 5W | 2x 5W | 2x 32W (4Ω, 1% THD+N) | 2x 32W (4Ω, 1% THD+N) |
Output (8Ω) | Non-amplified stereo output | Non-amplified stereo output | 2x 3W | 2x 3W | 2x 22W (8Ω, 1% THD+N) | 2x 22W (8Ω, 1% THD+N) |
PSRAM | 8MB PSRAM (4MB usable) over 40MHz SPI | 8MB PSRAM over 80MHz QSPI | 8MB PSRAM (4MB usable) over 40MHz SPI | 8MB PSRAM over 80MHz QSPI | 8MB PSRAM (4MB usable) over 40MHz SPI | 8MB PSRAM over 80MHz QSPI |
Power | 5V over USB-C, 2x LP5907 3.3 V Ultra-Low-Noise LDO for analog section | 5V over USB-C, 2x LP5907 3.3 V Ultra-Low-Noise LDO for analog section | 5V (up to 2.5A) from USB-C | 5V (up to 2.5A) from USB-C | Up to 26V from external PSU 5V over USB-C with power limited to 2x5W | Up to 26V from external PSU 5V over USB-C with power limited to 2x5W |
Connectivity | WiFi + BT4.2 + BLE W5500 Ethernet (optional module) | WiFi + BLE W5500 Ethernet (optional module) | WiFi + BT4.2 + BLE W5500 Ethernet (optional module) | WiFi + BLE W5500 Ethernet (optional module) | WiFi + BT4.2 + BLE W5500 Ethernet (optional module) | WiFi + BLE W5500 Ethernet (optional module) |
Audio streaming requires proper buffering to work, even with ESP32 500K of RAM it is a challenging task. For that reason, most of the projects will require WROVER modules that have onboard PSRAM chips. All ESP32 Audio boards have an 8MB PSRAM chip onboard, connected via a high-speed interface. Any code using PSRAM with just work out-of-the box.
I2S CLK | I2S DATA | I2S WS | PSRAM RESERVED | |
---|---|---|---|---|
ESP32 | 26 | 22 | 25 | 16, 17 |
ESP32-S3 | 14 | 16 | 15 | 35, 36, 37 |
SPI CLK | SPI MOSI | SPI MISO | SPI 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 | 9 | SPI2/20MHz | 12 | 11 | 13 | 39 | (37) | 38 |
In the software section two firmware examples are provided.
All samples are provided as Plarformio IDE projects. After installing it, open the sample project. Select the proper environment based on your dock. Run the Build
and Upload
commands to install necessary tools and libraries, and build and upload the project to the board. Communication and proper upload method selection will be handled by IDE automatically.
Follow the ESP8266Audio library guide. Default settings will work out of the box with ESP8266 and ESP32 boards. For ESP32C3 and ESP32S2 board please adjust the pinout according to the above section
Being an ESP32-based device, you can easily integrate it into your Home Assistant using ESPHome. Start with esphome web installer, which will give you ESPHome base install and WiFi configuration in minutes. Some S2/S3 boards have issues with we-installer, you may need to use Adafruit flasher instead with binaries pulled from the HA.
Next, navigate to your Home Assistant (assuming you have your ESPHome integration installed), and adopt the newly created node
ESPHome will give you ESPHome configs for Solo board running with ESP32-S2/S3, as well as Duo/HiFi-ESP and Louder ESP working with ESP32.
Few words of explanation.
media_player
publishes the media player into the Home assistant, so you can use it together with the native player or Music Assistant. You have a volume knob in the HA as well.The true power of the native speaker in the eHA is the use of automation. One example that I find useful. This simple automation will be pronounced every hour between 8 AM and 9 PM. Another one is used to pronounce bedtime, you get the point...
Squeezelite-ESP32 is a multimedia software suite, that started as a renderer (or player) of LMS (Logitech Media Server). Now it is extended with - Spotify over-the-air player using SpotifyConnect (thanks to cspot) - AirPlay controller (iPhone, iTunes ...) and enjoy synchronization multiroom as well (although it's AirPlay 1 only) - Traditional Bluetooth device (iPhone, Android)
And LMS itself - Streams your local music and connects to all major online music providers (Spotify, Deezer, Tidal, Qobuz) using Logitech Media Server - a.k.a LMS with multi-room audio synchronization. - LMS can be extended by numerous plugins and can be controlled using a Web browser or dedicated applications (iPhone, Android). - It can also send audio to UPnP, Sonos, Chromecast, and AirPlay speakers/devices.
All ESP32-based boards are tested with Squeezelite-ESP32 software, which can be flashed using nothing but a web browser. You can use Squeezelite-ESP32 installer for that purpose.
Use Installer for ESP Audio Dock to flash firmware first. It has been preconfigured to work with ESP Audio boards and will configure all hardware automatically.
Select the correct device first | |
Connect the device to the USB port and select it from the list | |
Press Flash and wait around 2 minutes |
|
(Optional) You may enter the serial console to get more information | |
Device is in recovery mode. Connect to squeezelite-299fac wifi network with squeezelite password (your network name suffix will be different) |
|
When redirected to the captive portal let the device scan wifi network and provide valid credentials | |
You can use provided IP address (http://192.168.1.99/ on the screenshot) to access settings page | |
(Optional) You may change device names to something close to your heart | |
Exit recovery |
You can use it now
Bluetooth | Spotify Connect | AirPlay | LMS Renderer |
---|---|---|---|
Please visit the hardware section for board schematics and PCB designs. Note that PCBs are shared as multi-layer PDFs.
Image |
---|
Every board has a header that allows soldering in the W5500 SPI Ethernet module that is very easy to find. The only downside is that with the module installed board will not fit the case unless it is cut to accommodate extra height.
HiFi-ESP32(S3) |
---|
HiFi-ESP32(S3), Loud-ESP32(S3) and Louder-ESP32(S3) are mechanically compatible with Raspberry Pi 3/4 cases, tested with transparent ones. Also, community members created a few 3-D printable designs that can be found here and here
Hifi-ESP32 |
---|
No country selected, please select your country to see shipping options.
No rates are available for shipping to .
Enter your email address if you'd like to be notified when HiFi ESP32 can be shipped to you:
Thanks! We'll let you know when the seller adds shipping rates for your country.
Shipping Rate | Tracked | Ships From | First Item | Additional Items |
---|---|---|---|---|
:
|
Buy with confidence.
Our Tindie Guarantee protects your purchase from fraud. Learn More
$24.00
Free Shipping!
$45.00
Free Shipping!
$49.00
Free Shipping!
$6.00
Free Shipping!
$30.00
Free Shipping!
$15.00
Free Shipping!
$30.00
Free Shipping!
$15.00
Free Shipping!
By clicking Register, you confirm that you accept our Terms & Conditions
We recognize our top users by making them a Tindarian. Tindarians have access to secret & unreleased features.
We look for the most active & best members of the Tindie community, and invite them to join. There isn't a selection process or form to fill out. The only way to become a Tindarian is by being a nice & active member of the Tindie community!