2021-10-21 12:42:46 +00:00
# Bluetooth Heart Rate Monitor
When this app is installed it overrides Bangle.js's build in heart rate monitor with an external Bluetooth one.
2022-04-08 03:04:47 +00:00
HRM is requested it searches on Bluetooth for a heart rate monitor, connects, and sends data back using the `Bangle.on('HRM')` event as if it came from the on board monitor.
2021-10-21 12:42:46 +00:00
This means it's compatible with many Bangle.js apps including:
* [Heart Rate Widget ](https://banglejs.com/apps/#widhrt )
* [Heart Rate Recorder ](https://banglejs.com/apps/#heart )
It it NOT COMPATIBLE with [Heart Rate Monitor ](https://banglejs.com/apps/#hrm )
as that requires live sensor data (rather than just BPM readings).
## Usage
Just install the app, then install an app that uses the heart rate monitor.
2022-04-08 03:04:47 +00:00
Once installed you will have to go into this app's settings while your heart rate monitor
is available for bluetooth pairing and scan for devices.
2021-10-21 12:42:46 +00:00
**To disable this and return to normal HRM, uninstall the app**
## Compatible Heart Rate Monitors
This works with any heart rate monitor providing the standard Bluetooth
2022-04-08 03:04:47 +00:00
Heart Rate Service (`180D`) and characteristic (`2A37`). It additionally supports
the location (`2A38`) characteristic and the Battery Service (`180F`), reporting
that information in the `BTHRM` event when they are available.
2021-10-21 12:42:46 +00:00
So far it has been tested on:
* CooSpo Bluetooth Heart Rate Monitor
2022-04-08 03:04:47 +00:00
* Polar H10
* Polar OH1
2022-02-13 17:05:21 +00:00
* Wahoo TICKR X 2
2021-10-21 12:42:46 +00:00
## Internals
This replaces `Bangle.setHRMPower` with its own implementation.
## TODO
* A widget to show connection state?
## Creator
Gordon Williams