Picture of Bluetooth Speakers using Raspberry Pi
hi guys long time since i wrote a tutorial, this tutorial tells you how you can use any old speaker lying around your house into a wireless bluetooth speaker, this can also be an cheap bluetooth audio device receiver for your car. This is not my original work, but modified(added a few steps/changed a few) tutorial from who has also taken help from Colin CW, i am reproducing this tutorial because this is the only tutorial that worked for me and i don't want it to disappear from the World Wide Web when i really need it. thanks Kmonkey for this awesome tutorial. Another way to have an wireless speaker is using AIRPLAY here
Remove these adsRemove these ads by Signing Up

Step 1: What you need?

1 Raspberry pi (i am running Occidentalis_v02.img from adafruit)
1 speaker
1 Male-to-male 3.5 mm audio jack
1 bluetooth dongle ( check here for list of devices that work ) do check using the command hcitool scan
1 ethernet connection for pi/ wifi (how to connect a wifi dongle to Raspberry pi) (all u need to do is edit "/etc/network/interfaces" file)

Step 2: Installing the softwares...

you need to install a couples of things before you can get started :-)

sudo apt-get update

sudo apt-get install bluez pulseaudio-module-bluetooth python-gobject python-gobject-2 bluetooth blueman

sudo usermod -a -G lp pi

sudo nano /etc/bluetooth/audio.conf

add the following after [general] in nano 


CTRL+X to close nano, Y to save the file

sudo nano /etc/pulse/daemon.conf

add the following line under ;resample-method = speex-float-3

resample-method = trivial

run the following command to reboot the PI

sudo reboot

if you have a monitor connected to your PI you can skip this next step 

Step 3: Installing the VNC server

if you have a monitor connected to your PI you can skip this step, if you use SSH like me the following steps will install a VNC server on the PI, so that you can go into the LXD desktop.

apt-get install tightvncserver

Setup vnc password by the following command


reboot the pi

sudo reboot

run the following command to create a desktop you can connect to.

vncserver :0 -geometry 1920x1080 -depth 24 

Giancarlo Zanuz made it!yesterday

Thanks, it worked fine. To connect your device using SSH:

install bluez-tools, a usefull package to use with bluetooth:

$ sudo apt-get install bluez-tools

Scan devices with:

$ hcitool scan

and take note the mac andress, something like XX:XX:XX:XX:XX:XX

Connect with your phone:

$ bt-device -c XX:XX:XX:XX:XX:XX

Choose a 4 number PIN, like 0000

Your phone will ask you to put this same PIN, do it.

Set your device to Trusted:

$ bt-device --set XX:XX:XX:XX:XX:XX Trusted 1

That's it, now you can continue with step 5.

PS: there's a little typo in step 5, in

$ pactl list sink short

it's really

$ pactl list sinks short

That's it, you can continue with step 5

LuceyA3 months ago

Bluetooth speakers are fine but I would suggest its better to look for other alternatives before landing up on something. e.g. airplay or wifi speakers check out the differences between the two of them
Nelice8 months ago

A very useful DIY tutorial. Most especially when you have all of these parts hanging around your house.

dmüller101 year ago
I just added a USB-soundcard to the Pi.

with some changes in the sudo nano /etc/modprobe.d/alsa-base.conf and amixer cset numid=1 0 I can play songs which are at the pi, but bluetooth streaming doesn't work anymore.

What should I change, that the bluetooth streaming will work again?

thank you :)
Hey guys! I used the work here to build a much better version of a portable A2DP bluetooth receiver then what's provided here. Check out my guide!
critak2 years ago
After my smartphone is connected to the Pi i ALWAYS have to enter
pactl load-module module-loopback source=bluez_source.10_10_FF_2B_2B_2E sink=alsaput.platform-bcm2835_AUD0.0.analog-stereo

Is there a way to automate that ? And let it also work after a reboot ?!?
sajingeo (author)  critak2 years ago
you could write a python script that would search for your device an connect it, i was trying to write one... i have attached the link to the code on git hub, if you could mod it ... u have to add

su -c "python /home/pi/Desktop/bluez/" pi

in you /etc/rc.local file and..
comment /etc/inittab(sudo nano /etc/inittab)

#1:2345:respawn:/sbin/getty 115200 tty1
like this

#1:2345:respawn:/sbin/getty 115200 tty1
and add this below
1:2345:respawn:/bin/login -f pi tty1 /dev/tty1 2>&1

this would automatically startup bluetooth, search for your device for 3 seconds, if found it would link it to the ALSA audio else it would exit, u have to modify the code to work with your phone/device bluetooth MAC address. I am still working on the code, feel free to use the idea and make it work better.