• I'm trying to read pulse data from a cheap Aldi/Lidl Bluetooth chest HRM strap (brand Medisana).

    NRF Connect can see the data fine and shows continuous value updates when connected. But I'm having no joy using some of the sample code floating around the forums and API reference on either a Pixl.js (latest 2v04 stable) or Bangle.js. The code I'm using is as follows:

    var device;
    NRF.connect("54:4a:16:52:04:30 public").then(function(d) {
      device = d;
      return d.getPrimaryService("0x180D");
    }).then(function(s) {
      Terminal.println("Service ",s);
      return s.getCharacteristic("0x2A37");
    }).then(function(c) {
      c.on('characteristicvaluechanged', function(event) {
        Terminal.println("-> "+event.target.value);
      return c.startNotifications();
    }).then(function(d) {
      Terminal.println("Waiting for notifications");
    }).catch(function(e) {
      Terminal.println("Something's broken: ", e);

    It connects fine and gets through the primary service and characteristic but it never shows any update notifications.

    It also gives the

    Uncaught InternalError: BLE task completed that wasn't scheduled (3/4)

    error after a few seconds.

    The Service info is:

    Service  BluetoothRemoteGATTService: {
      "uuid": "0x180d",
      "isPrimary": true, "start_handle": 16, "end_handle": 23 }

    and the Characteristic info is:

    BluetoothRemoteGATTCharacteristic: {
      "uuid": "0x2a37",
      "handle_value": 18, "handle_decl": 17,
      "properties": { "broadcast": false, "read": false, "writeWithoutResponse": false, "write": false,
        "notify": true, "indicate": false, "authenticatedSignedWrites": false }

    Any suggestions for things to try?


Avatar for ConorONeill @ConorONeill started