Repository navigation
Home
pschatzmann edited this page Oct 3, 2026
·
44 revisions
Welcome to the ESP32-A2DP wiki. The README gets you started; the pages here cover the individual topics in more detail. Questions that come up often are answered in the FAQ.
- Supported Hardware: which ESP32 variants support A2DP
- Working with PlatformIO
- ESP-IDF as a Component
- Program Memory & Partitions: what to do if the sketch is too big
Use the ESP32 as a Bluetooth speaker that receives audio, e.g. from your phone.
- Overview & Examples: output, pins, data callbacks
- Audio Output & DACs: I2S, the internal DAC and wiring of popular DAC boards
- Sample Rate
- Volume Control
- AVRC: Controlling your Phone: play, pause, next, volume...
- Metadata & Notifications: title, artist, playback status
- Performance Optimizations: tasks, buffers and RAM
Use the ESP32 to send audio to a Bluetooth speaker or headphones.
- Overview & Examples
- Providing Audio Data: callbacks, frames and Streams
- Device Discovery & Selection: which device to connect to
- Auto Reconnect
- Custom Codecs: AAC and Custom Decoders/Encoders
- Access Protection / Authentication
- WiFi and Bluetooth Coexistence
- Design Overview: read this before you extend the library
- Legacy I2S API: for Arduino ESP32 core 2.0.x
Getting Started
A2DP Sink (Receiver)
- Overview & Examples
- Audio Output & DACs
- Sample Rate
- Volume Control
- AVRC: Controlling your Phone
- Metadata & Notifications
- Performance Optimizations
A2DP Source (Sender)
Common
Background
Help