Skip to content

GB-M0-R8 — Buds2 Pro Spatial Sensor / Head-Tracking Reuse Spike #10

Description

@PNHD

Goal

After the base Buds management transport in #2 is physically proven, determine whether GalaxyBridge can expose Galaxy Buds2 Pro spatial-sensor/head-tracking data without rebuilding the protocol from zero.

Dependency

HARD BLOCKED until #2 proves a stable, non-destructive management RFCOMM path on the owner's physical SM-R510 while iPhone audio remains usable.

REUSE-FIRST SOURCE

APPROVED_FOR_ADAPTATION

timschneeb/BudsPro-Headtracking

  • license: MIT
  • pinned snapshot: 63b321aa0536fd28233eaaf3a05c4f3b3f8201fe
  • reusable semantics:
    • modern 0xFD ... CRC16-CCITT ... 0xDD packet framing
    • spatial enable message 0x7C
    • spatial data message 0xC2
    • spatial control message 0xC3
    • attach / detach / keepalive controls 0 / 1 / 4
    • gravity quaternion event 32
    • signed 16-bit quaternion extraction / 10000 scaling

Do not port its Python Bluetooth/thread architecture. Adapt the small protocol/state machine into GalaxyBridge Kotlin only after R4 establishes the correct SM-R510 transport/service.

REFERENCE_ONLY

timschneeb/GalaxyBudsClient — GPLv3

  • current Buds2 Pro spec declares SpatialSensor and firmware-gated HeadTracking
  • use only to cross-check capability/message behavior

Freeyourgadget/Gadgetbridge — AGPLv3

  • old Galaxy Buds protocol independently documents spatial-audio enable/control command families
  • no code copy

Critical compatibility warning

The MIT head-tracking project was originally built for Galaxy Buds Pro and later broadened service-name matching for Buds2-family FACTORY RFCOMM records. Public issue reports include Buds2 Pro sessions that connect but then stutter/disconnect without stable spatial data.

Therefore source existence is NOT a hardware PASS for SM-R510.

PoC after #2

  1. use the exact stable RFCOMM service selected by the R4 hardware result
  2. send only the documented spatial enable + attach sequence
  3. require explicit attach ACK
  4. enforce bounded keepalive/retry behavior
  5. parse quaternion frames with strict length/CRC checks
  6. record frame rate/jitter/dropout for at least 5 minutes
  7. verify audio remains usable on iPhone
  8. detach/disable cleanly

Safety

  • no gyro calibration/reset/debug-reset commands
  • no firmware writes
  • no unknown message IDs
  • no brute-force/fuzzing

Classification

Final recommendation after hardware test:

  • HEAD_TRACKING_STABLE
  • HEAD_TRACKING_UNSTABLE
  • HEAD_TRACKING_UNSUPPORTED_ON_CURRENT_SM_R510

PM handoff

Implementation agent must report model/effort, branch, baseline/final HEAD, commits/files, commands, build/tests, exact physical evidence, frame-rate/jitter/dropout measurements, owner steps, risks and final git status, then STOP without merging or starting another task.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions