Need help with Error: VC31 WHO_AM_I failed (0)

Posted on
  • I recently saw following error when I am using Bangle.setHRMPower(1)

    Prompt not detected - upload failed. Trying to recover... VC31
    WHO_AM_I failed (0)

    I initially thought there is an error in my code and after trying some existing app on the app store and checking Bangle.js Data Streaming and the Heartrate monitor stream came to conclusion that my bangleJs2 isn't allowing me to use HRM anymore.

    When I am trying to any app or code related to HRM, my bangle JS2 is heating up. Even using a simple code to print on emulator is giving the same error and heating up the device.

    Bangle.setHRMPower(1);
      Bangle.on('HRM',function(hrm) {
        var d = [
          "H",
          hrm.bpm,
          hrm.confidence
          ];
        print(d.join(","));
      });
    

    Never experienced this issue before. I am not sure if I missed anything.

  • WHO_AM_I failed (0)

    Is the hrm sensor/chip becoming sentient? 🤔

  • WHO_AM_I is usually a register with a fixed value that helps you to identify that you are talking to the right chip on the bus. If this value is not read this is not good and usually means hardware problems

  • When I am trying to any app or code related to HRM, my bangle JS2 is heating up

    This doesn't sound good - can you locate where is the heat is coming from?

    The first step I'd suggest is to ensure you run the battery totally flat (there's a menu option in Settings for this) and leave it for an hour, then recharge.

    That should at least totally reset the heart rate sensor hardware, and it's possible it might fix the problem - but if not it may well be a hardware failure of some kind

  • I see the same issue, and following the above steps:

    This doesn't sound good - can you locate where is the heat is coming
    from?

    Centre of the watch, roughly where the HRM is, I'd guess

    The first step I'd suggest is to ensure you run the battery totally
    flat (there's a menu option in Settings for this) and leave it for an
    hour, then recharge.

    Done, ran the battery down, left it for a day. Same issue - when HRM fires up the watch heats up and the green HRM light never appears. Battery consumption then goes through the roof, even if HRM is turned off.

    Are there other steps I can take, such as dismantling the watch to see if there's any loose components?

  • Well, you could definitely have a look - if you open the watch up you can take off the ribbon cable and check for fit/corrosion. The HRM is held into the back of the watch case with sticky on a metal plate, and you could peel that off pretty easily (once inside) to take a look.

    The green LED is controlled by the HRM chip itself so it's possible it got corroded and shorted out, and then the chip locked up when trying to turn it on?

    But I imagine there's a good chance that's caused by some kind of water ingress?

  • Thanks, shall give it a gander - I came off a bike recently and while the watch didn't get a single scratch, I was wearing it so I'm wondering if something got knocked loose.

  • I've been using nohrm.boot.js which contains:

    Bangle.setHRMPower = () => false;
    

    to avoid my device locking up if something enables HRM (e.g. swiping through clkinfo, going into an app which turns it on, etc).

    If I load runplus, it seems this is circumvented because it doesn't run boot code, how might I avoid that without hacking runplus?

  • Do you use BTHRM? That could replace your replacement of the setHRMPower :)
    AFAIK runplus will run boot code as well, it should not be able to prevent that easily.

  • Cool - I don't use that but interesting to compare against. I don't seem to get the HRM starting up now, I erased and re-wrote some boot files and I'm wondering if it's order-sensitive

  • Ha, I see this error now too. But I'm pretty sure my HRM sensor is dead from moisture ingress so not really a surprise :)

    As for boot files and their order, you can use a number in the filename to force that. name.0.boot.js should be executed before all *.boot.js files without numbers.

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

Need help with Error: VC31 WHO_AM_I failed (0)

Posted by Avatar for user155657 @user155657

Actions