Menu
Cart

GoPro Waterproof Shutter Remote Investigation

Posted by Mark Kirschenbaum on

I've always loved looking into GoPro Inc.'s remote control solutions. When the extension pole with a remote got announced, I knew I had to order one. After a few months of delays, the GoPro Waterproof Shutter Remote finally shipped two weeks before Christmas.

Enjoy this technical report on this new remote.

GoPro Waterproof Shutter Remote

Specifications - As determined

Waterproof Shutter Remote (WSR), S. Remote, "Chief"

As this remote is part of the extension pole (AGXTS-002), its actual SKU is CNF-ACCH1. 

Codename Chief
SKU CNF-ACCH1
Power CR2032
3v @ 0.2mA
Cameras Support

GoPro HERO12 (v1.20)
GoPro HERO11 (v2.20)

Futures
GoPro HERO11 Mini
GoPro HERO10

BLE Range

10 meters

Waterproof

5 meters (no connectivity underwater)

Temperature

Min: -4°F/-20°C
Max: Approximately 150F

Device Type 5
Manual GoPro Remote User Manual

Teardown

At first I thought the remote was overmolded. However, after closer inspection I saw the battery compartment was two parts. There are three hooks affixing the battery compartment to the shell. A simple spudger is all I used to pop it open.  

After that there are three screws holding the PCB to the shell.

GoPro Remote Circuit board PCB (front view)Top View: Wires used to dump the flash.
11 o'clock: DA14531
9 o'clock: Flash
4 o'clock: SMPS
3 o'clock: Red Blue Led

Bottom View (Rst, VBat, SWCLK, SWDIO, Single wire TX/RX)

Components

Renesas
Dialog Semi
DA14531-00000FX2 Bluetooth 5.1 Microcontroller
12 GPIO, 24-FCGQFN (2.2x3)
Marking: 531 136 
Dialog Semi AT25EU0021A
2 Mbit SPI Flash
0x1f 0x10 0x01 JEDEC Flash ID
Marking: AD1 HNG
0x14
0x1F1101  (ID)
0x40000 (Size)
Texas Instruments (TI) TPS61220DCK  Adjustable SMPS
Marking: CKR
2.65v output
LED Red/Blue

Debugging / Serial

Debugging is provided by SWD. I was unable to connect via SWD after an hour of trying to bring it up via OpenOCD. It's very likely SWD is locked in OTP, so I didn't spend a lot of time on this task. 

The TX/RX is a single pin serial and most likely only used during production & test. There are no debug strings in the firmware. 

I was able to simply sniff the SPI Flash during bootup an read the codebase. The bootrom loads up the bootloader and the application code at boot. 

Release Version

Chief release 01.10.00
(No OTA update available yet)

BLE Protocol

Most of the BLE protocol this remote uses is documented already on Open GoPro. The remote uses one new, and one undocumented, BLE commands to communicate to the camera. Additionally, it uses a new command under the sensor/meta characteristic for updating the LED. 

I should note, remotes use several newer UUID16 characteristics for OTA updates Service 0x80 chars 0x81-0x84. 

BLECOMMAND_SetButton [Command:0x1B, len 5] 
Single command to set all the buttons' states versus SetShutter, SetMode legacy commands. This command also has multi-camera and orientation rotation functional. However, I chose not documented here as it's not implemented in the wild as of yet. 

Definition Bytes Example
len-1 1 4
CMD: BLECOMMAND_SetButton  1 1Bh
stream length 1 2
button_type 1 00h
button_state 1 01

button_type

GOPRO_CMD_SETBUTTON_SW_SHUTTER  00h
GOPRO_CMD_SETBUTTON_SW_MODE  01h
GOPRO_CMD_SETBUTTON_SW_SETTINGS  02h

button_state

RELEASE / Stop 00h
PRESS 01h

 

BLECOMMAND_ClientInfo [Command:0x1C] Total Length 10bytes
Informs the camera the protocol (7), the connected device (5-Chief), the device's firmware version v1.10.00, and its battery level. 

09h 1Ch 07h 01h 05h 01h 0Ah 00h 00h XXh

Definition Bytes Example Value
Len-1 1 9
CMD: BLECOMMAND_ClientInfo  1 0x1C BLECOMMAND_ClientInfo 
Schema 1 0x7
Device type 1 0x5
Firmware major revision 1 1
Firmware minor revision 1 10
Firmware build 1 0
Battery Level 1 XX

 

SetThirdPartyClientInfo [Command:0x50] 

FUTURE

GetThirdPartyApiVersion [Command:0x51]

FUTURE

bleLedRegister [ Opcode: 0x52]

Via the Sensor/ Meta characteristic, sending the LedRegister opcode turns on notifications for when the LED should be on and off.

Definition Bytes Example
len-1 1 2
CMD: BLEMETA_LedRegister 1 52h
Enable 1 1

 

Overall

This remote works fairly well on the ground. It's a great addition to most people's kit. At this time, it only supports a single camera and believe it'll remain that way. The current draw is minimal which means the battery will last most users several years. 

As far as jumping with this remote, it's not recommend. In freefall, it's way too easy to hit the huge record button. Unlike our BLU2 product line, it also doesn't display warnings such as battery low, card space low, wrong mode, etc). Additionally, it only indicates recording once every second with a brief red LED flash. This is way too slow for our high speed sport that only lasts 50 seconds. 

One caveat of all GoPro wireless solutions is, you must power the camera on manually after 8 hours of it not being used in order to turn the BLE subsystem on.

If you enjoyed this blog, please consider buying or promoting the BLU2Pro or BLU2Lite designed for action sports. If you need some assistance with your BLE solution, please know I'm available for contracting work. 

Thank you! 
-Trunk

International Radio Compliance

FCCID

CNFACCH1
IC 10193A-ACCH1
ANATEL 15233-23-09720
CMIIT ID 2023DJ16462
CCAF23LP1510T0
IFETEL INGOAC23-38771
NR 2023-09I-0701
R-C-WD7-ACCH1
Japan JR321002-01

LEGAL: This product and/or service is not affiliated with, endorsed by, or in any way associated with GoPro Inc. or its products and services. GoPro, HERO, and their respective logos are trademarks or registered trademarks of GoPro, Inc. HEROBUS and BACPAC are trademarks of GoPro Inc.


Share this post



← Older Post Newer Post →

Hypoxic Products