

The Auto Power Down watchdog timer can be reset by sending periodic keep-alive messages to the camera, as below.

Unless changed by the user, GoPro cameras will automatically power off after some time (e.g. Video Performance Mode: Tripod / Stationary Video Video Performance Mode: Maximum Video Performance The set of presets available to load at any moment depends on the value of certain camera settings, which are outlined in the table below. The camera organizes modes of operation into presets.Ī preset is a logical wrapper around a specific camera flatmode and a collection of settings that target different ways of capturing media. System Busy and Encode Active flags to go down before sending messages other than get status/setting queries. If the system is not ready, it should reject an incoming command however, best practice is to always wait for the Encoding Active flag is set while capturing photo/video media.System Busy flag is set while loading presets, changing settings, formatting sdcard.This ready state is dependent on the System Busy and the Encoding Active status flags. Response notifications indicate whether the message was valid and will be (asynchronously) processed.įor example, to send a camera control command, a client should write to GP-0072 and then wait for a response notification from GP-0073.ĭepending on the camera's state, it may not be ready to accept some commands. Messages are sent to the camera by writing to a write-enabled UUID and then waiting for a notification from the corresponding response UUID. In order to enable two-way communication with a GoPro camera, clients must connect to the camera and subscribe to characteristics that have the notify flag set. Subscribe to notifications from all characteristics that have the notify flag set.Discover all advertised services and characteristics.Scan to discover peripherals (which can be narrowed by limiting to peripherals that advertise service FEA6).Swipe down, swipe left » Connections » Connect Device » GoPro Quik Appĭiscovery of and connection to the GoPro camera can be done as follows: The camera will whitelist the client so subsequent connections do not require pairing. To pair with the camera, use the UI to put it into pairing mode, connect via BLE and then initiate pairing. If the camera is factory reset, all clients will need to pair again. The pairing procedure must be done once for each new client. In order to communicate with a GoPro camera via BLE, a client must first be paired with the camera. If the camera is in sleep mode, connecting to it will cause the camera to wake and boot up. The camera will send BLE advertisements while it is ON and for the first 8 hours after the camera is put to sleep.ĭuring this time, the camera is discoverable and can be connected to. The packet count starts at 0 for the first continuation packet.ĭiscovery, Connection and Pairing Advertisements To accommodate this limitation, the packet header rules below are used.
#QUIK GOPRO V2.1 BLUETOOTH#
The Bluetooth Low Energy protocol limits messages to 20 Bytes per packet. Note: GP-XXXX is shorthand for GoPro's 128-bit UUIDs: b5f9xxxx-aa8d-11e3-9046-0002a5d5c51b Service UUID

The camera organizes its Generic Attribute Profile (GATT) table by broad features: AP control, network management,īelow is a table of cameras that support GoPro's public BLE API: Waiting for a response notification from a corresponding characteristic. GeneralĬommunicating with a GoPro camera via Bluetooth Low Energy involves writing to Bluetooth characteristics and, typically, Messages are sent using either TLV or Protobuf format. This page describes the format, capabilities, and use of Bluetooth Low Energy (BLE) as it pertains to communicating with GoPro cameras. Bluetooth Low Energy (BLE) Specification v2.0
