Welcome to Open GoPro BLE API’s documentation!

This document describes the format, capabilities, and use of Bluetooth Low Energy (BLE) as it pertains to communicating with GoPro cameras via the Open GoPro API.

Supported Cameras

Below is a table of cameras that support GoPro’s public BLE API:

Open GoPro Supported Cameras
Model ID Model Code Marketing Name Firmware Download Link
65 H24.01 HERO13 Black https://gopro.com/en/us/update/hero13-black
62 H23.01 HERO12 Black https://gopro.com/en/us/update/hero12-black
60 H22.03 HERO11 Black Mini https://gopro.com/en/us/update/hero11-black-mini
58 H22.01 HERO11 Black https://gopro.com/en/us/update/hero11-black
57 H21.01 HERO10 Black https://gopro.com/en/us/update/hero10-black
55 HD9.01 HERO9 Black https://gopro.com/en/us/update/hero9-black

Warning

The documentation assumes that the GoPro is always updated to the most recent version. This is relevant in cases where functionality changes between versions.

Getting Started

First, read through the protocol section to understand how to send and receive BLE messages via the Open GoPro protocol:

Then see any of the subsequent feature sections to perform desired functionality:

Tip

Additionally, there are walk-through tutorials available to demonstrate basic BLE functionality as well as complete demos in various programming languages.

Limitations

General

  • The camera will reject requests to change settings while encoding; for example, if Hindsight feature is active, the user can not change settings

  • Querying the value for a setting that is not associated with the current preset/core mode results in an undefined value. For example, the user should not try to query the current Photo Digital Lenses (FOV) value while in a video-based Preset.