Skip to content

FW: Sync time between phone and Earables #146

@DennisMoschina

Description

@DennisMoschina

Problem: No Reliable Way to Align Timestamps Across Two Earables

At the moment, aligning sensor data recorded on two earables requires manual synchronization methods (e.g., tapping both devices or generating a sharp sound). This is error-prone and unsuitable for automated data collection.

The Bluetooth specification includes the Current Time Service (CTS), which allows an earable to query the phone for a wall-clock timestamp. However, CTS is not highly accurate:

  • The timestamp is generated when the phone prepares the response
  • The read operation is delayed by the BLE connection interval and additional OS/BLE stack latencies
  • Typical end-to-end accuracy is tens to hundreds of milliseconds, which is insufficient for precise multi-device alignment

Bluetooth Isochronous Streams (CIS/BIS) can provide much higher-precision timing, because the controller exposes microsecond-level anchor points and event counters. These can be used to derive a shared high-precision timebase between two earables.
However, this approach has two major limitations:

  • Many phones and platforms do not support LE Audio isochronous streams yet
  • An isochronous stream must be explicitly created and started (e.g., by a broadcaster or central), which adds complexity and may require running a stream even when no audio is transmitted

Proposed Approach: Multi-Layer Time Synchronization

A combined solution could provide robust, cross-platform synchronization:

  1. Coarse synchronization via CTS:
    Each earable reads the phone’s CTS once on connect (or periodically) to align its wall-clock time. This gives a shared absolute reference with low precision, but high convenience and universal support.

  2. High-precision synchronization via isochronous timestamps:
    The two earables exchange or follow a custom isochronous stream (not necessarily carrying audio) to derive a shared monotonic clock with sub-millisecond accuracy.

Combining both layers allows:

  • Wall-clock alignment across devices (CTS)
  • Precise inter-ear synchronization (isochronous timestamps)

Next Steps

We should define:

  • The required accuracy for cross-device timestamp alignment
  • Whether a custom BIS/CIS broadcaster is feasible
  • The trade-offs between universal compatibility (CTS) and high accuracy (ISO-based sync)

Metadata

Metadata

Labels

Projects

Status

In progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions