Im trying to connect to an external heart rate sensor using BLE. As Im getting 5 different characteristic values, how to detect what values is used for heart rate monitoring?
How to convert byte array to readable result?
Asked
Active
Viewed 2,187 times
3

Boris Legovic
- 200
- 2
- 11
-
1The BLE standard defines UUIDs for many known services, including heart rate measurements. If your devices uses the standard uuid it might also use the standard for data transmission. [This](https://www.bluetooth.com/de/specifications/specs/heart-rate-service-1-0/) document describes the Heart Rate Service and its characteristics in chapter 3. We usually recommend to use a generic BLE scanner such as [nRF Connect](https://www.nordicsemi.com/Products/Development-tools/nrf-connect-for-mobile) to analyze the found services and test the connection. – Michael Kotzjan Jul 26 '21 at 04:47
1 Answers
3
- The standardised Heart Rate service is 0x180D and the characteristic is 0x2A37, so you need to read data off this.
- The heart rate value is usually exposed over 1 byte only (because values 0-255 covers the range of heart rate values in beat per minute (bpm). If you want to read other values exposed by the device then the document that Michael Kotzjan shared is useful in deducting what the byte array values mean.
More useful references:-

Youssif Saeed
- 11,789
- 4
- 44
- 72