Skip to content

Add Bluetooth A2DP Sink Component#217

Draft
luar123 wants to merge 29 commits intoCarlosDerSeher:developfrom
luar123:bt
Draft

Add Bluetooth A2DP Sink Component#217
luar123 wants to merge 29 commits intoCarlosDerSeher:developfrom
luar123:bt

Conversation

@luar123
Copy link
Copy Markdown
Contributor

@luar123 luar123 commented Mar 17, 2026

This PR adds a bluetooth receiver component based on the work from @aximut and @BakersHub (See #88).

Current status:

  • can pair with 4 digit pin or with SSP (just-works, no verification)
  • Currently playing BT/SC needs to be stopped before the other can take over
  • When snapcast starts to play bluetooth will disconnect if no psram is available
  • uses dsp_processor
  • AVRC is currently disabled
  • Optionally all bluetooth memory can be released. This toggles a reboot after player stop, but allows same snapcast buffer as without bluetooth. Otherwise buffer needs to be reduced
  • Some unrelated changes are included
  • When snapcast stops, it tries to reconnect to the last bt device

Todo:

It is build on the changes from #203 which I need to finalize first.

@luar123
Copy link
Copy Markdown
Contributor Author

luar123 commented Mar 29, 2026

Reworked snapcast state and added bt state. Now it works with other formats and bt can keep the connection if psram is enabled.

Still need to add the priority selection. Currently, bt or snapcast can only start playing if the other is not.

I am using OPUS with 500ms buffer at the moment (more should be possible). In general the fragmentation is increasing and therefore the buffer needs to be reduced even if using the release all bt memory mode.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant