Share my simple ESP32S3 media player, optimized for Music Assistant

Hi all,

I wanted to share my latest project: a DIY network media player built with an ESP32-S3-DevkitC-1 (N16R8) and a PCM5102A DAC.
This is a very simple build which many people have done. But I met some troubles when building it, I hope my notes could help someone who has same issue.


The goal was to create a stabel player that could handle high-bitrate streams within the Music Assistant.

Key Technical Features:

  • Buffer Optimization: Utilizes media buffers and optimized sdkconfig to leverage 8-line Octal PSRAM.
  • Dual-Pipeline Support: Handles both music from MA (via Sendspin) and HA announcements simultaneously.
  • Verified Hardware: Includes 3D printable enclosures and a full soldering guide.
  • Jack Detection: Uses the pin of Jack to detect whether jack in plugged and switch between deep sleep mode.
  • ESPHome Based: Easy to customize and integrate into your existing dashboard.

I’ve published the full documentation, including a deep dive into my debugging process and various coding strategies (Standard vs. Sendspin vs. Hybrid).

GitHub Repo: [Link to GitHub Repository]

Thanks to community and especially to Arh for their great help to me!

6 Likes
4 Likes

thanks for help, I have used PCM5102 board like yours and didn’t have any sound but with your instructions now it works!
Only thing is that I have a super mini S3 board which have 2Mb PSRAM but it works ok with FLAC.


Found a BT emitter, now I am thinking of doing a V2 of this, adding this BT emitter so that can also connect to BT speaker or earphone.