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


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:


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



  • 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.