Have you bought a Bluetooth adapter for your BeagleBone Black but can’t get it to work? If so, this article is for you. I will show you how to easily enable Bluetooth on BeagleBone Black.

If you are having trouble getting your computer or other device to pair with the Bluetooth dongle you have attached to your BeagleBone Black, the fix may be as simple as this two step procedure. By default, the Bluetooth drivers are not fully enabled; I will show you how to fix this.

Quick Version

If you don’t care about learning what is going on, just copy and paste this command into your BeagleBone Black. I don’t really recommend doing this in general, if you get into the habit of just copying and pasting code from random websites on the internet, you could easily give someone fairly unrestricted access to your system. But if you can look at the commands below and understand what is going on, go for it.

echo –e “\n[Bluetooth]\nEnable=true” >> /var/lib/connman/settings && systemctl enable bluetooth.service && systemctl start bluetooth.service

If you would like to learn a little bit more about what you are doing and why, continue reading.

Step 1: Enable Bluetooth Capability

The first step in enabling Bluetooth is to inform your BeagleBone Black that you would like to be able to use this feature. To do this you will just need to make a quick edit to a configuration file.

If you perform:

cat /var/lib/connman/settings

You should see something like:




What this file is essentially telling you is that the BeagleBone Black connection manager is only aware of Wired Ethernet connections, or WiFi connections enabled through a USB module. What you want to do is add the Bluetooth module. To add this just type the following command:

echo –e “\n[Bluetooth]\nEnable=true” >> /var/lib/connman/settings

Now if you look at your configuration file again by using

cat /var/lib/connman/settings

You should see something like this:





If this worked, then you can move on to the next step. If it did not work then try to do some troubleshooting. If you just can’t figure it out then leave me a comment below and I will help you out.

Step 2: Enable the Bluetooth System Service

Your next and final step is to enable and start the system service that monitors Bluetooth. This allows you to pair with the BeagleBone Black, as well as some other core functionality. To enable the service type:

systemctl enable bluetooth.service

You may see a few messages but should not get any errors, if that is the case then this step worked as expected and your BeagleBone Black is almost ready to use Bluetooth. All you need to do now is start this service using the following command.

systemctl start bluetooth.service

Congratulations! You should now have a working Bluetooth dongle. If you ran into problems along the way feel free to ask questions in the comments below, I will always do my best to help. If you enjoyed this article please consider subscribing to continue receiving helpful and informative articles like this one.


  1. I do not have a connman subdirectory in my /var/lib/ subdirectory on my BeagleBone Black. I go from aspell to cloud9 in the lib directory listing. Do I have to download a different package first?

  2. Apparently I have a Debian distribution of Linux and not the Angstrom distribution. It appears that the Angstrom distribution has connman. Is there an equivalent for Debian?

  3. Hello Larry,

    The connman connection manager is a general linux tool that is developed by Intel, it is usually installed by default on embedded OSes but if not it should be available in some form or another for pretty much any flavor of linux. Check https://packages.debian.org/search?keywords=connman to see if any of these repositories work for you.

  4. Patrick Leonard

    You forgot the part where you have to tell the Beaglebone to change the directory.
    On start-up, you have the following header;


    you then have to enter:

    root@beaglebone:~# cd /

    you will then see:


    On searching the var directory ( /# cd var
    var# ls )
    I found there is no such directory as “connman”. Funny, that….

    connman? Conman? Are you sure you’re using a BeagleBone Black?

  5. sebastián

    I do not have a connman subdirectory in my /var/lib/ subdirectory on my BeagleBone Black. What should I do?

  6. Ah, i see. Well thta’s not too tricky at all!”

Leave a Reply