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:

Model ID

Model Code

Marketing Name

Minimal Firmware Version

62

H23.01

HERO12 Black

v01.10.00

60

H22.03

HERO11 Black Mini

v01.10.00

58

H22.01

HERO11 Black

v01.10.00

57

H21.01

HERO10 Black

v01.10.00

55

HD9.01

HERO9 Black

v01.70.00

Warning

While the version listed above are minimum versions needed to support the Open GoPro API, 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.