This post will show you how to connect your Raspberry Pi 3 to your Bluetooth headset, using A2DP profile.
Please note that A2DP profile supports only audio output, but no input such as microphone.
If you are looking for HSP support, please read the other post: Connect Bluetooth Headset To Raspberry Pi 3 (A2DP & HSP)
Set up Raspberry Pi
If possible start with fresh Raspbian Jessie (2017-03-02):
Update and upgrade it:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get autoremove
Since BlueZ 5, ALSA doesn’t support anymore Bluetooth, you need to have PulseAudio 5 at least for A2DP:
Bluez 5 or later, PulseAudio 5 or later, and pulseaudio-module-bluetooth:
dpkg -l bluez pulseaudio pulseaudio-module-bluetooth
||/ Name Version
ii bluez 5.23-2+rpi2
ii pulseaudio 5.0-13
ii pulseaudio-module-bluetooth 5.0-13
Start pulseaudio daemon (if no one is actually running):
Connect the headset
To connect Bluetooth headset, there are several GUI tools, but I recommend to do it using bluetoothctl (part of BlueZ).
Turn on Bluetooth controller:
Start the agent:
Request default agent:
Turn on the headset, for mine I press and hold the button till I see white blinking LED.
Start the scan:
After some seconds, you will see the headset name and MAC address (xx:xx:xx:xx:xx:xx)
Pair, trust and connect it:
Now the headset is correctly connected to the Raspberry Pi.
Tell PulseAudio to use it as default “sink”:
pacmd set-default-sink bluez_sink.xx_xx_xx_xx_xx_xx
Download and play a sound, you will hear it from your headphone!
wget http://youness.net/wp-content/uploads/2016/08/h2g2.ogg -P /tmp/
“In the beginning, the Universe was created. This made a lot of people very angry, and has been widely regarded as a bad move.”
– The Hitchhiker’s Guide to the Galaxy
If you have any question feel free to ask me by comment.