What is the model of the heart rate monitor?

Posted on
  • Hi everyone,

    I've been scratching my head trying to figure out what make and model the HRM is. The best I found was Vcare VC31 / VC31B, but if I look them up online I get no useful results. The reason I'm looking for them is that I want to know the specs, to know if the HRM will perform as I need.

    Any idea on the specs?

  • That's correct, yes. On all devices produced now it's the Vcare VC31B (on KickStarter Bangles it was the VC31).

    I'm afraid information on the module itself is amazingly hard to come by. I've attached a specification document for the VC31B here but it's in Chinese.

    What information about it did you actually want to know?


    1 Attachment

  • Ah that sucks, but thanks for the info and PDF.

    So the things I wanted to know were:

    1. Is it able to measure continuous HRV?
    2. Does it measure SpO2 (blood oxygen saturation)?
    3. What is the quickest frequency at which it records heart rate?
    4. Is it a PPG or something else?
  • Is it able to measure continuous HRV?

    Yes and no - you can get all the absolute heart rate values for each heartbeat so can work out HRV pretty easily with an app. HRV calculations are not built in to the firmware though.

    Does it measure SpO2 (blood oxygen saturation)?

    The VC31B is capable, but it's something provided by a binary blob which we don't include in the firmware. So no, it's not possible yet.

    What is the quickest frequency at which it records heart rate?

    You'll get an event for every heartbeat. Right now the PPG is polled at 25hz (or 50Hz on the VC31) which seems fine, and it is possible to raise that to ~100Hz or more but on the VC31B that functionality isn't part of the firmware and requires some register poking.

    Is it a PPG or something else?

    Yes, it's PPG.

  • Alright, thanks for the help!

  • One more question, I saw from other resources that it should be possible to infer the breathing rate of a person from their heart rate. Is that actually possible with the BJS2?

  • I saw from other resources that it should be possible to infer the breathing rate of a person from their heart rate. Is that actually possible with the BJS2?

    I really have no idea - only thing I can suggest is to try - but you have access to the raw PPG data so really if someone has done it on another device using just PPG then it should be possible on the Bangle

  • Yeah I think I'll try that.

    What's the difference between the VC31 and VC31B? Are they both available?

  • Just as a hint:
    To do that you probably need a reference breath signal. Some here are using the polar H10 chest belt which has an accellerometer build in (so probably much directer acces to breathing than PPG). This signal is sent via BTLE (I do get it here on Linux with a python program).
    And there is the "HRM Accelerometer event recorder" which right now stores raw PPG, HR and RR from H10, acc from bangle. Should be not too hard to add Acc from H10 here with which you would then collect all the data you probably will need on the way trying to get breathing from PPG.

  • VC31B is the newer version of VC31 and as far as I know the VC31 is no longer available. Any Bangle you buy from us now will have the VC31B in it.

    If you really want to have good breathing info, you can get a 'Vernier Respiration Belt'. There's even an app for it at https://banglejs.com/apps/?id=vernierrespirate

  • Hi, May I know if any of the Bangle watches give raw analogue values of the Photodiodes in the HR sensors?

  • Yes - Bangle.js 2 gives the raw value from the PPG sensor (as well as filtered versions) in the HRM-raw event.

  • Thanks, Gordon. Could you please link here any documentation for the analogue values of HRM sensors. I couldn't find the info at https://www.espruino.com/Bangle.js+Technical or https://www.espruino.com/Bangle.js2

  • Have a look here, that might be an example of what you search (access and graph raw and filtered online at watch display)
    https://forum.espruino.com/conversations/372681/?offset=25#16390275
    (just paste to WebIDE and send to watch to try)

    In case you don`t know: there is a recorder app that does record the raw PPG data from the watch directly to a csv on PC or phone:
    https://banglejs.com/apps/?id=hrmaccevents
    You can also check that code as an example.

    if you need to dig deeper, check the HRM calculation from raw in C here:
    https://github.com/espruino/Espruino/blob/407dd17e0903840df724ebf25f83d2bb95863fb5/libs/misc/heartrate.c

  • Thanks, Gordon.

  • @Gordon

    Thanks to the power of AI and onlinedoctranslator.com, we have an English translation of the datasheet for the Vcare V31B.

    (Accuracy of translation not guaranteed. Use at your own risk.)


    1 Attachment

  • Unfortunately not complete. The interesting part is missing, e.g. registers.

  • Lol yeah, I did notice that it didn’t have low-level registers.

    However, it does mention:

    1. the I2C address (0x33),
    2. That it has a 128-byte FIFO buffer

    so I think it’s possible that I2C reads might just read from the FIFO. Assuming that it works like that, we’d still be missing instructions for how to parse that into something useful (as well as for registers to configure settings like measurement frequency, etc). And, would that be any different than the data from the HRM-raw event? @Gordon might be able to answer if the raw hrm data is the same as the I2C FIFO output.

  • Lol yeah, I did notice that it didn’t have low-level registers.

    There is lot of info directly in the source here

    https://github.com/espruino/Espruino/blob/21e7dd80611794e6da20109f35d12acdcdb85eec/libs/misc/hrm_vc31.c

  • I believe at least on the VC31B we do use the FIFO already - it'll all be in the file @fanoush linked above.

    would that be any different than the data from the HRM-raw event?

    Nope - you can see how the raw values are output at https://github.com/espruino/Espruino/blob/21e7dd80611794e6da20109f35d12acdcdb85eec/libs/misc/hrm_vc31.c#L818-L836

    Including raw which I think really is the raw FIFO data

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

What is the model of the heart rate monitor?

Posted by Avatar for user142998 @user142998

Actions