Skip to content
 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

254 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Minimalistic Sendspin Media Player for Home Assistant

Screenshot

A tiny Sendspin media player with cover art display and a weather clock, built around the ESP32-S3 Zero.

This project turns a small, inexpensive ESP32 board into a compact audio receiver for your amplifier capable of doing multi-room audio in sync, with a screen for album art, song, artist, and a weather clock when not playing, OR a Button to control with, or with nothing so you can hide it behind the tv/stereo.

Each version can be built with one of these options:

  • Display
  • No display
  • Big button

That gives a total of 9 variants:

Variants

Firmware Installers

Device / Configuration Installer
Sendspin Zero Button Analog Open Installer
Sendspin Zero Button Digital Open Installer
Sendspin Zero Display Analog Open Installer
Sendspin Zero Display Digital Open Installer
Sendspin Zero No Display Analog Open Installer
Sendspin Zero No Display Digital Open Installer

Sendspin Zero Control Analog Open Installer
Sendspin Zero Control Digital Open Installer
Sendspin Zero Display + Button Analog Open Installer

SendspinZero Speaker Open Installer
Sendspin Supermini Headphones Open Installer

About the Project

This started as a fun experiment: I wanted to see if the ESP32-S3 Zero would work with Sendspin. Since it has 2 MB of PSRAM, I figured it might be possible—and it turns out, it is.

Once that worked, I thought: instead of building yet another “Sendspin speaker”, why not make a tiny receiver for my amplifier?

So I:

  • Replaced the MAX98357 with a PCM5102A DAC
  • Designed a custom case
  • Added a display for cover art and a weather clock

…and this is the result 🙂


Photos


Cost

All parts were sourced from AliExpress and added up to just over $10 (last checked).


Parts List


Diagram & Pins Used

Wiring diagram

⚠️ Assembly Notes

  • If you plan to mount everything inside the case, do NOT solder header pins to the DAC, ESP32, or display. → Solder wires directly to the boards instead, otherwise they won’t fit.

  • If your display already has pins: → You may need to bend two pins slightly to make room for the audio jack.


Pin Mapping

ESP32-S3 → PCM5102A

ESP32-S3 GPIO PCM5102A Pin
GPIO4 LRCK
GPIO5 BCK
GPIO6 DIN

ESP32-S3 → Display

ESP32-S3 GPIO Display Pin
GPIO7 SCL
GPIO8 SDA
GPIO9 RST
GPIO10 DC
GPIO11 BL

Power (both modules)

  • GND
  • 3.3V

Important DAC Setup

Make sure to:

  • Solder the pads on the back of the PCM5102A (as shown below)
  • Solder the bridge near SCK on the front (some boards come pre-soldered)

Toslink (Optical Audio) Version

This version has no display and is the easiest build—under $10 🙂

(For display or button versions, pin usage is the same)

Toslink version

Your soundbar will love you for it 😉 3D files are in 3D_Files

Pin Mapping

ESP32-S3 → Toslink Connector

ESP32-S3 GPIO TOSLINK
GPIO4 VIN (DATA)
3.3V VCC
GND GND
Pins

Parts

  • 1 × M2.6×10 self-tapping screw

⚠️ Important: Select "Transmitting end" (A1)


Coax (Digital Audio) Version

Simplest version of all: just two wires and a resistor.

Coax version

3D files are in 3D_Files

Pin Mapping

ESP32-S3 → RCA Connector

ESP32-S3 GPIO RCA
GPIO4 VIN (DATA)
GND GND

Parts


Button Version

Instead of a display, you can use a large illuminated button.

Controls

  • Single click → Play / pause
  • Double click → Next track
  • Triple click → Previous track
  • Hold → Toggle Sendspin / Home Assistant control mode

In HA mode, clicks are exposed for automations.

3D files are in 3D_Files

Pin Mapping

ESP32-S3 GPIO Button
GPIO1 1
GPIO2 3
GPIO3 4
GND 2 + 5

Part

22mm Bicolor (RG) Black 3–6V https://www.aliexpress.com/item/1005004920346156.html


SendspinZero-Control (Knob + Button + Display)

This version uses a combo board with a rotary encoder + button + display i found cheap on aliexpress.

3D files are in 3D_Files

Additional Pins

(Same as display version + these)

ESP32-S3 GPIO Combo Board
GPIO12 TRA
GPIO13 TRB
GPIO43 (TX) PSH
GPIO44 (RX) KO

(TX = GPIO43, RX=GPIO44 on the zero board)

Part

ESP32-S3 Zero and PCM5102A as above +

https://www.aliexpress.com/item/1005009900611104.html


Display + Button Version

3D files are in 3D_Files

Pin Mapping

Same as SendspinZero-Display + SendspinZero-Button

Parts

same components as the other versions (esp32-s3 + PCM5102A DAC + Button) +


Speaker amplifier version

NO 3D files made for this device.

This is the only device with amplifier onboard, it's mono so for stereo speakers you need a module for each speaker and have them playing as stereo in MA.

Pin Mapping

(remove two pins from the spacer and solder the boards together)

ESP32-S3 GPIO MAX98357
VCC (5V) Vin
GND GND
not used SD
not used GAIN
GPIO2 DIN
GPIO3 BCLK
GPIO4 LRC

GAIN pin can be connected to GND for 12db gain. (or with 100k resistor to GND for 15db gain)

Parts

same esp32-s3 zero as the other versions +


Supermini Headphone amplifier version (make corded headphones wireless)

3D files are in 3D_Files

This is the only device based on esp32-s2 Supermini due to it's battery connection.

Pin Mapping

ESP32-S3 GPIO DAC
VCC (3V) VCC
GND GND
GPIO6 DIN
GPIO7 BCK
GPIO5 WS
ESP32-S3 GPIO Touch board
VCC (3V) VCC
GND GND
GPIO4 I/O
ESP32-S3 GPIO battery
+ pole on back +
- pole on back -

Parts List

(3D file includes both with and without hole for switch)


About

Sendspin Audio Receiver for your Stereo/Amplifier

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors