BLE HRM reading BPM


I want to start receiving the BPM from HRM device, but I failed to do so, I am not sure what I am missing, I am able to connect to the device successfully, but somehow I cannot receive the BPM from the device it either show me an error of not proper UUID or operation is rejected.

I tried to use an app called BLE scanner in the store, and I was able successfully to receive the data using the Notify service over the motioned UUID in the app.

Please let me know how can I make this app works
please check picture below:


1 Like

Hello @ayunsolutions!
I am sorry for your issue.
Is the type of data you want to receive string?

1 Like


is Notify method is supported by thunkable? @ioannis

I have did this to try several UUIDs, and I came to know that when the command is “READ” command I can get a data,
But when it is “NOTIFY” UUID, I receive “operation was rejected”
please check the pictures below as an example

Please let me know how to do the notify,

Hello @ayunsolutions!
We can understand that it is frustrating and appreciate you taking the time to investigate and provide more information.

At the moment, Notify method is not supported, but this is a good suggestion! I’ll pass it on to the team.

Is it possible for you to update the firmware to use READ instead of the NOTIFY method? Another user had the same issue and was able to resolve it using this method. For more information, please click here.: iOS Bluetooth App doesn’t receive any data - Questions about Thunkable / BLE / BlueTooth - Community

Yes, @ayunsolutions, I managed to get it working with what @ioannis has mentioned above.

For all the BLE Characteristics packets that you want Thunkable App to receive properly from the Peripheral device, on the firmware side of that device use “READ”.

Here is an Arduino sample code

BleCharacteristic deviceHealthCharacteristic("deviceHealth", BleCharacteristicProperty::READ, deviceHealthUuid, serviceUuid);

Incase you want to send commands or data to the Peripheral device from Thunkable App, use “WRITE”

// BleCharacteristics for receiving commands
BleCharacteristic rxCharacteristic("rxCmd", BleCharacteristicProperty::WRITE, rxUuid, serviceUuid, onDataReceived, NULL);

Hope this helps as I always like to emphasize/assist by providing code/block snippets to the issues which is easier for the community member to understand.



Hello @thunkable28!
I am so excited that you solved the issue! :tada:
Thank you so much for sharing the code. I am sure that all members of our community will appreciate it.