Controlling GoPro from RaspberryPi over Bluetooth
In order to connect to GoPro over Bluetooth, you need Raspberry Pi with Bluetooth Low Energy support, meaning Rasperry Pi 3, 3+ or Zero W, possibly other older models with working Bluetooth 4.0+ dongle.
GoPro needs to be paired at least with one device to turn the wireless (including Bluetooth) on.
Following procedure was tested on Raspberry Pi Zero W with Raspbian Stretch (release 2018-04-18) and GoPro HERO5 with FW 2.60.
First step is to prepare Raspberry. If you already have Raspbian set up, you can skip to the next section
Download latest Raspbian Lite
Flash it onto SD card using Etcher
After flashing, create
sshfile in the root of the SD card (volume boot) to enable ssh access:
cd /Volumes/boot/ touch ssh
Turn on Raspberry and SSH into it (default username
Better to upgrade:
sudo apt-get update sudo apt-get upgrade -y sudo apt-get dist-upgrade sudo rpi-update sudo reboot
Now it's time to connect Raspberry to GoPro.
Put GoPro into pairing mode (Connect new device > GoPro App)
Scan for devices:
and after a while, you should see GoPro's Bluetooth address (among others):
Discovery started [CHG] Controller B8:27:EB:E2:EB:2D Discovering: yes [NEW] Device DE:71:28:EE:A7:FD GoPro 2495
Now we need to pair GoPro with Raspberry. Replace with your GoPro's Bluetooth address and run:
then you should see:
[CHG] Device DE:71:28:EE:A7:FD Trusted: yes Changing DE:71:28:EE:A7:FD trust succeeded
Run (again replace):
then you should see something like this:
Attempting to pair with E6:2A:02:F5:C3:00 [CHG] Device DE:71:28:EE:A7:FD Connected: yes [CHG] Device DE:71:28:EE:A7:FD Paired: yes Pairing successful
Now GoPro is paired with Raspberry. Now you can try to wake up your GoPro over Bluetooth.
Turn off the GoPro, then run (putting in your Bluetooth address):
and GoPro should wake up and light up the display
Let's continue and try controlling GoPro over Bluetooth.
Disconnect from the GoPro and exit
sudo gatttool -t random -b DE:71:28:EE:A7:FD -I
– don't forget to replace the Bluetooth address.
Try to connect:
and you should see:
Attempting to connect to DE:71:28:EE:A7:FD Connection successful
Now try to run:
char-write-req 2f 03160101
and GoPro should start beeping – you've just turned on the locate function over Bluetooth!
To stop beeping, run:
char-write-req 2f 03160100
But probably what you want the most is ability to turn on the WiFi over Bluetooth.
In that case, just run:
char-write-req 2f 03170101
to turn the WiFi on and
char-write-req 2f 03170100
to turn the WiFi off.
This is just a first try to control GoPro over the WiFi. In case you want to elaborate more, take a look at this article from HYPOXIC (especially the Bluetooth section). And you can learn more about the
If you have problems with making Bluetooth on your Raspberry working, try to look at this tutorial.