Case study
GarminHRM600: reconstructing HRM 600 BLE and stored-file exchanges
GarminHRM600 implements a direct BLE client for the Garmin HRM 600 heart-rate strap using documented Multi-Link, GFDI and protobuf FileSyncService exchanges. Its CLI streams heart rate and Running Dynamics, downloads stored FIT files and reconstructs absolute timestamps from the strap's event clock and file identifiers. A protocol reference records message layouts and the author's probe results.
- Targets
- Protocol
- Category
- Independent reconstruction cases
- Relationship
- Independent reconstruction project
- Sources reviewed
- Evidence class
- C2 code & docs, no demo or download
- Stars
- 2
- Last commit
- 2026-08-30
- Language
- Python
GitHub data as of 2026-11-10
Evidence
- Observed
- Code and documentation observed; no download method or demo found.
- Checked
- 2026-11-08
Requirements & limits
- Prerequisites: Python 3.12 or newer and a BLE-capable machine; developed and tested on macOS.
- Prerequisites: A worn HRM 600 strap that is disconnected from other central devices; first connection requires pairing.
- Testing evidence: The author reports hardware testing with HRM 600 firmware 5.20.0.
- License: MIT License; adapted portions retain attribution under the upstream MIT terms.
Cite
BibTeX
@misc{garminhrm600-case,
title = {{GarminHRM600: reconstructing HRM 600 BLE and stored-file exchanges}},
howpublished = {\url{https://github.com/mskerwiderski/GarminHRM600}},
url = {https://github.com/mskerwiderski/GarminHRM600},
urldate = {2026-11-06},
note = {Awesome REA entry: \url{https://awesomerea.org/resources/garminhrm600-case/}}
}Plain text
GarminHRM600: reconstructing HRM 600 BLE and stored-file exchanges. https://github.com/mskerwiderski/GarminHRM600 (accessed 2026-11-06). Awesome REA entry: https://awesomerea.org/resources/garminhrm600-case/
Useful? Star Awesome REA on GitHub2.4k
About this entry
The description was reviewed against primary sources.
Primary sources
- README.md GitHub · mskerwiderski/GarminHRM600 · Revision c48b98e
- docs/gfdi-filetransfer.md GitHub · mskerwiderski/GarminHRM600 · Revision c48b98e
More in Protocols
- Canon IVEC driver: reconstructing PIXMA and MAXIFY print commands · Case study
- Minitela do Positivo Vision R15M: AHMI display protocol and ACF format · Case study
- Truma Aventa: Home Assistant control from BLE protocol findings · Case study
- PetKit Eversweet Max 2 UVC: reconstructing fountain BLE telemetry · Case study
- WalleCube UPS: Home Assistant control through a reconstructed BLE protocol · Case study
- toppingctl: reconstructing Topping DAC control over USB HID · Case study