Overview

Reverse‑engineered the BLE protocol of wireless SMPTE timecode hardware to expose live sync data, pairing behavior, and initialization requirements for custom tools.

Problem

Atomos/TimecodeSystems UltraSync BLUE units support only a limited number of paired devices and provide no official API for custom integrations. The goal was to recover the BLE protocol so third‑party tools could read timecode reliably while respecting the device’s required initialization sequence.

Hardware

Protocol

Identified the custom timecode service UUID, primary notify/read characteristic, and the frame count/config channel required for reliable initialization.

UUID Purpose Properties
9383b854-8bee-11e7-bb31-be2e44b06b34 Timecode Service
9383b110-8bee-11e7-bb31-be2e44b06b34 Primary Timecode notify, read
9383b110-8bee-11e7-bb79-be2e44b06b34 Frame Count / Config read, write
ce8dadf8-b7e0-4d9e-94cd-43f84803b361 Secondary Timecode / Status notify, read
0252db82-f8a8-4874-b5cd-e65b7b3309b9 Status / Sync notify, read

Manual Reference

UltraSync Blue manual reference screenshot
UltraSync family diagram (official manual). The ecosystem supports a limited range of compatible device types without custom integrations.
UltraSync Blue manual reference screenshot
UltraSync Bluetooth menu must remain open for continuous packet streaming (official manual).

Initialization Sequence

  1. Read frame count/config characteristic.
  2. Read device name.
  3. Subscribe to primary timecode notifications.

The official app fails to read timecode reliably unless the frame count characteristic is read first.

Tools & Methods

Key Technical Challenges

Outcome

The resulting spec enables reliable timecode reads and custom integrations without relying on the official app, while preserving proper initialization and pairing behavior.

It also makes it possible to build inexpensive digital timecode slates using off‑the‑shelf Bluetooth receivers, 7‑segment displays, and MAX driver boards to show frame‑accurate timecode.