[Resolved] Does HRM work?

Posted on
  • Hello folks!

    First of all, thanks for this amazing job. For a runner like me, having a possibility to make my own sport mode is incredible.

    I'm trying to get my heart rate, but Bangle.setHRMPower() function is undefined.
    The only example I could find seems to read an analog port instead of listening to the 'HRM' event as the doc says.

    I am using the latest firmware (2.04), on the NodeConfEU watch.

  • Hi, sorry for the question, but is Bangle.setHRMPower undefined, or the return value of the Bangle.setHRMPower(1 / 0) call is undefined?

    Calling Bangle.setHRMPower(1) turns the HRM on - the HRM's green LED is on. The app's code is up at the github take a look at it, it's working for me.

  • Hi - did you do an update to the firmware since Nodeconfg?

    While there hasn't been a new 'numbered' release (they are all 2v04.xyz), there are pretty much daily builds at http://www.espruino.com/binaries/travis/­master/ - if you were just using the Nodeconf firmware then it won't have setHRMPower in it, you'll have to update to a more recent version.

  • Is the analog value on D29 the only interface to HR sensor (except turning it on/off)? In other watches it is connected via i2c and one can (or rather must) access some registers and configure it (like e.g. setting green led intensity and/or sensor sensitivity). This analog value looks super simple.

  • Thank you folks.
    It must be an outdated firmwire then.
    I can not see the current installed version (the boot screen goes to fast :D), and I'll try to apply latest with my Android phone.

    I'll let you know.

  • If you connect, you can get the current version with process.env:

    >process.env
    ={
      VERSION: "2v04",
      GIT_COMMIT: "45ffa8e",
    ...
    }
    > 
    
  • Thank you all.

    After I've resolved my DFU issues, I could upload the latest firmware, and it is working as documented.

  • Me too, I am wondering if there are extra HRM settings available (intensity, sensitivity)?

  • I am wondering if there are extra HRM settings available (intensity, sensitivity)?

    I'm not quite sure what you mean there. If HRM and confidence isn't good enough for you, you're probably better looking at the raw data that's supplied in the callback.

  • I'm not quite sure what you mean there.

    On some HR sensors there is a possibility to adjust the green LED brightness together with the HRM camera sensitivity. But I guess this is not the case for the Bangle.js...

  • If it works fine then this analog value is super easy which is good. From datasheets of HRS3300 it can be seen that you can setup led current and analog resolution and gain. From PAH8001 datasheet used in DS-D6 it can be seen that it also has touch sensor so you know when to turn it off or should not read the value or it can go automatically to sleep mode with led blinking slowly if it does not touch the skin. I guess these setting are mostly for saving battery power or possibly also for different skin types or lighting so the signal from sensor is not under or over exposed(?). Also both those sensors come with vendor closed source library (can be found on github included in some projects both for PAH8001 nad HRS3300) where you call the algorithm with values from accelerometer to possibly do some motion compensation(?). It is all quite complicated and mostly black box so I was just surprised here that it is simple analog value. The open source code we curently have for those sensors reads only such analog value anyway and it seems to work too.

  • On some HR sensors there is a possibility to adjust the green LED brightness together with the HRM camera sensitivity

    Yeah, the Bangle.js one is extremely basic. There's nothing like that available at all - it's purely analog.

  • Post a reply
    • Bold
    • Italics
    • Link
    • Image
    • List
    • Quote
    • code
    • Preview
About

[Resolved] Does HRM work?

Posted by Avatar for feugy @feugy

Actions