BLE device disconnected too quickly

Developpment setup: Simulator with a Thingy USB dongle

After being stuck trying to get information from a BLE device (Polar H10 chest band) for a few weeks, I tried another device (from another brand) and my code works fine. The problem is (I think) that the Polar H10 gets disconnected too fast. I try to set notifications but onDescriptorWrite() or onCharacteristicChange() is never called and the device gets disconnected in very few seonds.

Any advice or similar experience?

I found some people having similar issues on Android and there is a timeout parameter when setting the connection I believe. In the available classes in Garmin I didn't find a similar option.

I am just using the standard HR service (0000180D)

  • Are you wearing the HRM as you normally would? some will go to sleeps if they don't sense electrical activity for a minute or two.  

  • yes, forgot to mention that with nRFconnect app and the dongle or an app on my phone I can setup the notify and get the readings smoothly

  • Hi, I don'tknow if my previous answer is clear:

    - I am able to use my MonkeyC app in the simulator with the dongle connecting to another BLE device and show the HR readings.

    - I am able to read the Polar H10 readings in an Android App and in the nRFconnect app  with the dongle.

    - The Polar H10 does not work in my app with the simulator. From the debugging console it feels like it desconnects before receiving the reply and running onDescriptorWrite().

    Do you have any ideas on how to solve this? I didn't find a way in the SDK to modify timeout (Android BLE SDK has)

  • It sounds to me like the H10 is closing the connection for some reason. Maybe something with security.  The CIQ BLE is a very basic implementation so may not provide what you need.

    I don't have an H10 but things work fine for me with an HRM-Pro