• Hey there. Just got my new Bangle.js2 a week or so ago, and I've been having a blast messing with it and tweaking things.

    I'm trying to figure out if this is a hardware issue with mine, or maybe a weird software bug. Running latest 2v19.

    Easiest way to reproduce:

    • wakeOnTouch: true
    • LCD timeout low (easier to see what's happening)
    • HRM interval: always (just to see it happen consistently)

    With those options set, my backlight will randomly turn itself on while the HRM is trying to read.

    Took me a little while to figure out what was actually causing the sporadic backlight, because it wasn't happening all the time. Finally noticed it was happening when the heart rate monitor was going.

  • Ok, that's an odd one.

    But just to check - is it possible you're moving the Bangle around a lot while that happens?

    On Bangle.js 2 the touchscreen draws a bunch of power, so in order for us to be able to have a 'Wake on Touch' without flattening the battery in a few days, it actually uses the accelerometer - so it looks at the movement of the Bangle to see if it has been 'tapped'.

    Could it be that's what you're seeing? That the Bangle wakes up when it's received a small movement?

  • Interesting. So now that I know that it's using the accelerometer, I've gotten some more data. I had noticed some strange stuff when messing with the "tap" event a while back, and I just tested it a little more.

    Setting HRM: always

    Then in the console:

    >Bangle.on('tap', (data) => {console.log(Date().getSeconds()+" "+data.dir);})
    =undefined
    3 top
    4 right
    5 right
    6 back
    8 right
    8 front
    8 top
    10 bottom
    11 front
    12 bottom
    13 top
    15 left
    16 right
    17 right
    18 top
    

    It throws events all over, sometimes multiple times per second. The HRM seems to stop if I take the watch off and lay it on my desk, so I have it on my wrist but I'm holding extremely still.

    As soon as the HRM is off, the onTap seems to work perfectly fine. It registers directions just fine, and only when I tap it deliberately.

    I loaded up accelgraph while the HRM was off/on, but there didn't seem to be any difference that I could tell.

  • Wow, thanks - well that is really strange. I can reproduce it here too. Just with:

    Bangle.on('tap', (data) => {console.log(Date().getSeconds()+" "+data.dir);})
    Bangle.setHRMPower(1)
    

    It does seems to trigger pretty much only when moving, but for some reason it's far more sensitive than it should be when the HRM is on... It's really weird behaviour!

  • Haha, well I'm just glad it's not something wrong with my watch's hardware.

  • I'll try and get this fixed in the next week or so

  • No rush at all, it's not really affecting me all that much. My main reason for bringing it up was more out of curiosity, trying to understand what was happening internally to cause that interaction, and to make sure it wasn't something I was doing wrong/a hardware issue with mine.

    BTW, love the project so far! It's a little too much fun being able to just pull up a remote console to a WATCH of all things and run arbitrary code on it.

  • Just to say, there's a new report at https://forum.espruino.com/conversations/391667 and I've put a change in to fix this

  • The HRM seems to stop if I take the watch off and lay it on my desk, so I have it on my wrist but I'm holding extremely still.

    This is new to me. Is this expected?
    It would make sense, but i can observe the green flashing just fine when i take my watch of.

  • The green flashing should stop after a few seconds of the sensor not being near anything. If it doesn't (and your firmware is up to date) then maybe the sensor is dirty or you didn't remove the protective film from it?

  • Ah gotcha.
    If its only checking if it is "near anything" it always recognizes either my wristband or the plastic stand. With my wristband its hard to put it down without the sensor coming close to anything.
    Thanks for the clarification!

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

Bangle.js2 wakeOnTouch causes backlight to randomly turn on when HRM is reading

Posted by Avatar for reyemxela @reyemxela

Actions