ESP32 Bluetooth Speaker

This project is based on the ESP-IDF A2DP-SINK demo with a number of changes:

  • Volume control (but initial volume still needs fixes)
  • Dithering to improve audio quality at lower volumes (kicking in at half the maximum volume)
  • Over-the-air updates with configurable update server (currently only via http, not https)
  • Send log out to syslog server

The last two items are intended for putting the ESP32+DAC inside a closed speaker, but still be able to update it and observe its operation.

Source Code Repository

Bluetooth Speaker


I currently use the above application in the compact cubic speacker shown on the right.

  • Speacker Chassis: Visatron VS-FRS8M, output power 30/50 W, freqency range 100 – 20000 Hz
  • Walls: MDF 10 mm
  • Outer dimensions: 160 x 160 x 160 mm
  • Bass reflex tube: Simple sewage pipe (PP), diameter 30 mm, length 67 mm (from inner opening to outer enclosure plain), pulls lower frequency boundary down to around 60 Hz
  • DAC: Adafruit I2S 3W Class D Amplifier Breakout - MAX98357A (delivers more than enough power to make this little speaker roar)
  • Power supply (not shown in the picture): Power bank with 5000 mAh, good for >8 hours of operation (guessed)

No comments

We use cookies

We use cookies on our website. Some of them are essential for the operation of the site, while others help us to improve this site and the user experience (tracking cookies). You can decide for yourself whether you want to allow cookies or not. Please note that if you reject them, you may not be able to use all the functionalities of the site.