Bluetooth WPAN tethering from Raspberry Pi

Some Raspberry Pi modles have Bluetooth and 2.4 / 5 GHz 802.11ac WiFi built in or can use a USB dongle for WiFi and Bluetooth. Raspberry Pi and many other embedded single board computers can connect to the internet via Bluetooth WPAN a.k.a. tethering or connection sharing. This method avoids tying up the WiFi connection of a phone, or putting sensitive WiFi credentials on an embedded device. This method inherently limits internet bandwidth to the embedded device to about 1.6 Mbps practical throughput due to the legacy Bluetooth WPAN specification.

NetworkManager can be used from the command line “nmcli” to make the Bluetooth internet connection. Create a script and “@reboot” cron job to make a semi-permanent WPAN connection. Connect to the internet host device e.g. smartphone with Bluetooth tethering turned on Bluetooth UUID like:

nmcli device connect AA:BB:CC:DD:EE:FF

It’s also possible to configure USB tethering to the phone; I’ve done that via the NetworkManager GUI from the desktop environment.

nmcli examples