# HiFi Esparagus

ESP32-based micro media center with PCM5100 DAC with line out

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

## Options

**Board version**

- [b] Classic ESP32 ○ (6 left)
- [d] ESP32-S3 (voice-assist support) ○ (17 left)

## Links

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

## Images

![HiFi Esparagus](https://lectronz-images.b-cdn.net/lectronz/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6NDc4MzEsInB1ciI6ImJsb2JfaWQifX0=--b69a9b6d0c497a07ca2aa3dbd8970f1e402244c7/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGVnIiwicmVzaXplX3RvX2xpbWl0IjpbOTYwLDY0MF0sInNhdmVyIjp7InN0cmlwIjp0cnVlfX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--4e27bac8cdfb621fb828f6a3a5982fe1a423b516/DSC_0156.jpeg)
![HiFi Esparagus](https://lectronz-images.b-cdn.net/lectronz/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6NDc4MzUsInB1ciI6ImJsb2JfaWQifX0=--91b95003b69df1f04a38045ff0caa76ee88e09ea/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGVnIiwicmVzaXplX3RvX2xpbWl0IjpbOTYwLDY0MF0sInNhdmVyIjp7InN0cmlwIjp0cnVlfX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--4e27bac8cdfb621fb828f6a3a5982fe1a423b516/DSC_0157.jpeg)
![HiFi Esparagus](https://lectronz-images.b-cdn.net/lectronz/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6NDc4MzksInB1ciI6ImJsb2JfaWQifX0=--b0e45a2b8f8d7ae1ceb99a1b3b3467c3d3de338b/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGVnIiwicmVzaXplX3RvX2xpbWl0IjpbOTYwLDY0MF0sInNhdmVyIjp7InN0cmlwIjp0cnVlfX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--4e27bac8cdfb621fb828f6a3a5982fe1a423b516/DSC_0159.jpeg)
![HiFi Esparagus](https://lectronz-images.b-cdn.net/lectronz/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6NDc4NDMsInB1ciI6ImJsb2JfaWQifX0=--10511a362b1c7184083b5529525b03775938c402/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGVnIiwicmVzaXplX3RvX2xpbWl0IjpbOTYwLDY0MF0sInNhdmVyIjp7InN0cmlwIjp0cnVlfX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--4e27bac8cdfb621fb828f6a3a5982fe1a423b516/DSC_0163.jpeg)

## Description

# What is it

**HiFi Esparagus** and HiFi **Esparagus S3** are handy, low-cost media devices that will upgrade your legacy audio system with internet streaming capabilities. It exposes line-level output that you can plug into active speakers, a stereo amplifier, or headphones. They use the legendary PCM5100 series DAC with supreme audio quality.

Recent addition – ESP32-S3 version – adds front-facing microphone and RGB LED, so it can also be used as a voice-assist device, providing an off-grid Alexa-like experience for your Home Assistant setup.

Our [Crowd Supply campaign](https://www.crowdsupply.com/sonocotta/esparagus-media-center) to back the manufacturing of the Esparagus series boards was successfully funded, thanks to everyone who made that possible.

![DSC_0702](https://github.com/sonocotta/esparagus-hifi-medialink/assets/98712315/3ef311c6-2fbc-4969-aa99-4fed7e1e1dd5)

## 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 HiFi MediaLink is 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.

## Use cases

**HiFi Esparagus** is a flexible, open-source audio platform designed to fit into both smart homes and custom audio projects.

*   **Smart Home Audio & TTS**  
    Integrates with **Home Assistant** and **Music Assistant** for high-quality audio playback and text-to-speech announcements. Perfect for notifications, voice alerts, and whole-home audio driven by your smart home automations.
*   **Multi-Room Audio with Snapclient**  
    Use HiFi Esparagus as a **Snapclient** endpoint to create perfectly synchronized multi-room audio systems. Ideal for distributed music playback without proprietary lock-in.
*   **Standalone Player with Squeezelite-ESP32**  
    Run **Squeezelite-ESP32** for a self-contained network audio player supporting **Spotify** **Connect**, **AirPlay**, and **Logitech Media Server (LMS)** — no external computer required.
*   **Educational Projects & Teaching Platforms**  
    A powerful tool for **schools, universities, and technical education**. HiFi Esparagus can be used to teach embedded systems, digital audio, networking, and open-source software — ranging from simple audio playback labs to advanced DSP, streaming, and real-time systems projects.
*   **Research, Prototyping & Experimentation**  
    Well-suited for rapid prototyping of audio devices, proofs-of-concept, and research projects involving DSP, low-latency streaming, wireless audio, or human-machine interaction.
*   **A Foundation for Custom Products & DIY Builds**  
    With **all firmware and tooling fully open source**, HiFi Esparagus is an ideal base for custom audio devices — whether you’re building a personal DIY project, a small production run, or a community-driven product.

## Features

|  | HiFi Esparagus | HiFi Esparagus S3 |
|---|---|---|
| MCU | ESP32-WROVER-N8R8 | ESP32-S3-WROOM-N8R8 |
| DAC | PCM5100A 32-bit Stereo DAC<br>-100 dB typical noise level | PCM5100A 32-bit Stereo DAC<br>-100 dB typical noise level |
| Output | Non-amplified stereo output, 2.1V RMS | Non-amplified stereo output, 2.1V RMS |
| IR reader | ✅ | ✅ |
| RGB LED | ✅ | ✅ |
| I2S Microphone | ❌ | ✅ |
| Flash/PSRAM | 8MB/8MB | 8MB/8MB |
| Connectivity | WiFi + BT4.2 + BLE + Ethernet | WiFi + BLE + Ethernet |
| Case | 80 x 50 x 20 mm Aluminum case | 80 x 50 x 20 mm Aluminum case |
| Power requirement | 5V from USB-C | 5V from USB-C |
| **Software support** |  |  |
| Squeezelite-ESP32 | ✅ | ✅ |
| Snapclient | ✅ | ✅ |
| ESPHome (HA) | ✅ | ✅ |

⚠️ *HiFi boards require an external amplifier or active speakers; you can't connect passive speakers to it.*

💡 *Need to connect speakers as well? Check out [Amped Esparagus](https://lectronz.com/products/amped-esparagus)*

💡 *Need only speakers output? Check out [Loud Esparagus](https://lectronz.com/products/loud-esparagus) and [Esparagus Echo](https://lectronz.com/products/esparagus-echo)*

💡 *Need more powerful DSP? Check out [Louder Esparagus](https://lectronz.com/products/louder-esparagus) and [Esapragus Audio Brick](https://www.crowdsupply.com/sonocotta/esparagus-audio-brick)*

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

### Onboard PSRAM

Audio streaming requires proper buffering to work, even with ESP32 500K of RAM it is a challenging task. Esparagus HiFi MediaLink is based on a WROVER module that has an onboard PSRAM chip.

## 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 |
|-------|---------|----------|--------|----------|-----------|
| ESP32 | 26      | 22       | 25     | 16       | 17        |

### Peripheral

|       |SPI HOST | SPI CLK | SPI MOSI | SPI MISO | OLED DC | OLED CS | OLED RST | WS2812 RGB LED 
|-------|---------|----------|--------|----------|-----------|-----------|-----------|-----------|
| ESP32 |    2    |  18      |  23    |   19     |   4       | 5         | 32        |  33

### Mic

ESP32-S3 versions of the board have an onboard I2C microphone. It can be used for wake word functionality in the Home Assistant or for custom firmware.

|                         | I2S CLK | I2S WS | I2S DATA |
|-------------------------|---------|--------|----------|
| ESP32-S3                | 17      | 18     | 08       |

The mic model that I used for testing and validation is the TDK ICS-43432 MEMS microphone

# 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 and Bluetooth.
    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, and Bluetooth A2DP on the ESP32 revision. 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

HiFi 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 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)
- This build is WiFi-only (no Ethernet) and has no on-device display, since the PCM5100 is a line-level DAC with no on-chip DSP to expose

## 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 for S3-based boards, allowing local voice-controlled assist and automation

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

## Hardware

| Esparagus HiFi MediaLink  |
|---|
| ![DSC_0711](https://github.com/sonocotta/esparagus-hifi-medialink/assets/98712315/66f565f3-7342-42aa-95e4-bad0437aa887) 

Please visit the [hardware](https://github.com/sonocotta/esparagus-media-center/tree/main/hardware) section for board schematics and PCB designs. Note that PCBs are shared as multi-layer PDFs as well as Gerber archives.

### Boxed

| Esparagus HiFi MediaLink  |
|---|
| ![image](https://github.com/sonocotta/esparagus-media-center/assets/5459747/c4765189-de0e-44bd-8163-b19ddd6f68d1) | 

### PCB

| Esparagus HiFi MediaLink  | 
|---|
| ![image](https://github.com/sonocotta/esparagus-media-center/assets/5459747/d56ff3b7-633c-4f67-a82f-5084cfeb4144) |

# 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/hifi-esparagus.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/hifi-esparagus.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.
