# pschatzmann/ESP32-A2DP

A Simple ESP32 Bluetooth A2DP Library (to implement a Music Receiver or Sender) that supports Arduino, PlatformIO and Espressif IDF

Repository: https://github.com/pschatzmann/ESP32-A2DP
Canonical: https://ross.abutalabs.com/products/esp32-a2dp
Language: C++
License: Apache-2.0
License Family: permissive
Topics: bluetooth, pcm-data, arduino-library, a2dp-source, audio, esp32, esp32-arduino, a2dp-sink, bluetooth-speaker
Last push: 2026-08-12T02:24:20+00:00

## Health v2 (maintenance only)
Score: 90/100 (v2, computed 2026-09-03T02:39:23.370411+00:00)
- activity 97, release rhythm 74, longevity 100
- inputs: {"age_days": 2350, "days_push": 22, "days_rel": 95, "gap_med": 53, "n_releases_24m": 8}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 2724, forks 393 (observed 2026-08-28T04:07:15.721482+00:00)

## What it is
An Arduino/PlatformIO/ESP-IDF library for ESP32 that implements the Bluetooth A2DP protocol for streaming audio, acting as either a sink (music receiver) or source (sender). It outputs decoded PCM data via callbacks or I2S, with AVRCP remote control support.

## Use cases
- build a DIY bluetooth speaker with ESP32
- stream audio from my phone to an ESP32 over bluetooth
- send audio from ESP32 to bluetooth headphones
- receive A2DP audio and output it via I2S
- add bluetooth audio streaming to an Arduino project
- control bluetooth audio playback with AVRCP from ESP32

## When to choose
- you want a simple Arduino-friendly API for A2DP audio streaming on ESP32
- you need both sink and source roles for bluetooth audio
- you want PCM data via callbacks to feed custom outputs like I2S

## When to avoid
- you need hands-free profile (HFP) or headset profile (HSP) for calls
- you need standalone AVRCP without A2DP
- you are not targeting the ESP32 microcontroller

## Facets
- artifact type: library
- maturity: active
- function: audio-processing, sdk
- domain: embedded-systems, hardware
- platform: embedded, cpp, iot
- tags: bluetooth-a2dp, esp32, arduino, i2s, bluetooth-speaker, avrcp, platformio, esp-idf, audio

## Member repositories
- pschatzmann/ESP32-A2DP (main) score 90

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:07:15.721482+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T02:14:55.707052+00:00, confidence not recorded.
  - readme: https://github.com/pschatzmann/ESP32-A2DP (fetched 2026-08-28T04:07:15.721482+00:00, sha 09f8eb1d8c25)
- Data as of 2026-08-30T08:39:29.467469+00:00.
