Battery drain with custom clock

Posted on
  • Hello!

    I've just got my Bangle.js 2 and created a custom watch face for it.
    It basically just draws a cat image, then digits with a black border.
    To create the black border, the font was drawn first by shifting up/down/left/right in black, then white in the center.

    But somehow my watch dies and turns off within a day, so I'm not sure if it's my code. I've attached the code and a screenshot of it.
    The LCD brightness was at 0.1, 5 secs timeout with only wake on button. Other than that everything is from factory with this watch face installed. It was on firmware 2v22, I'm retesting it with anton watch and 2v23 currently.

    Drawing an image every minute shouldn't use drain the battery that much?

    Edit: Bluetooth was off.


    2 Attachments

  • Was about to make my own post about this since I'm also having similar battery issues (Got mine yesterday from Adafruit, came with same firmware version), but I'm using watchfaces from the app loader (Pebble++ with a Calendar ClockInfo) with iOS integration installed alongside it, nothing else besides the preinstalled apps and an Info app that tells me stuff like battery percentage and if any sensors are on (I made sure stuff like HRM/GPS/Compass was disabled). Already tried leaving it charged overnight and calibrating the battery, but found that after only being unplugged for 3 hours it dropped to 50% while idle and connected to my phone. Also I only have Wake on button enabled and my brightness was set to something below or at 0.5.

    Let me know if updating the firmware helps since that's the only thing I haven't tried yet, I just factory reset it and only installed the battery widget that shows percentages and iOS integration.

  • Hi! Nothing in your app looks like it'd draw a bunch of power - as you say it's only drawing once per minute (and each draw takes 130ms by the look of it).

    Only thing I'd suggest is to use the drawTimeout code from https://www.espruino.com/Bangle.js+Clock+Font as it'll ensure it draws the time every time the minutes change (rather than once every minute, which could make the time shown ~30s out)

    In the past 2 weeks I've heard from a few people with fast draining batteries, and it's an odd one. When factory reset and unconnected the watches I've seen appear to be lasting for ages on a battery as you'd expect, but something is causing a lot of power draw once they get connected.

    Please could you install 2v23 anyway? there was a timekeeping issue in 2v22 which at minimum would be annoying for you, but it's possible that it could be causing the increased power draw.

    There's someone in the UK with a watch that's having problems so I'll try and get it back here to take a look at and try and debug the issue here.

  • Just to add that for most of the people that reported problems, literally just updating firmware, leaving the watch on charge for 12 hours and then doing a factory reset (hold the button down for ~10 seconds until a 'recovery' menu pops up, then choose 'Factory Reset') seems to fix issues for them, so I believe it is some kind of software issue.

    I'm struggling to see what's causing the problems, so any insight you have would be great - but hopefully when I get hardware with the issue in-hand I'll be able to reproduce it and fix it.

  • Hi Gordon, I've just finished testing, the watch lasted from about 8:00am to 4:45pm fully charged to shuts itself off.
    It is on 2v23, factory reseted, using just Anton clock, bluetooth off, wake only on button.

    I've also sent an email to Christine just now. Thank you.

  • I've reset it from the "Util" menu, is it different from the recovery one?

  • I've reset it from the "Util" menu, is it different from the recovery one?

    No, that's totally fine, although doing the long-press to reboot after would be a good idea as that will reset the underlying hardware. Thanks for testing - it's interesting to know 2v23 has the same issue.

    I think Christine's just replied to you already but please hold on for the moment until we know what's going on. Obviously if this is a software issue and we can fix it remotely that's going to be a lot easier for everyone than waiting for replacements to be shipped halfway around the world.

  • Just to follow up on this, Yesterday I found one of the new watches that seemed to exhibit high battery drain after I started it up (I don't know at what point it started - whether it was writing to flash, using touchscreen, etc).

    Yesterday over the course of 4 hours it lost about 50% power, which is what you guys had mentioned.

    However I restarted it with a long press of the button (~8s until it shows some blocky onscreen text and ==== finishes going across the screen) and left it over night (no 'factory reset' was needed so apps/settings were as before), and there's been basically zero power draw in the 15 hours since (it's still on 100%).

    I've done a bit more fiddling (using the app loader to install a new app) and I'm trying to see if that causes the increased power draw again, but for the moment it looks like doing a reboot with a long press of the button does fix the power draw issues, as others have reported as well.

    Hopefully this works for you too - if you find a way to start the high power draw again please let me know. If I can reproduce here I can almost certainly get a fix in very quickly.

  • Hi Gordon,

    I've done overnight charging plus some more during daytime just to be sure. The draining speed is roughly the same.
    I'm going to let the watch stay at the recovery menu and see if it survives tonight.
    Let me know if you want me to flash anything special on it too :)

    @user158424 Are you still getting drains or something worked for you?


    1 Attachment

    • Screenshot at 2024-06-28 21-15-26.png
  • Hey!

    Sorry for not responding any sooner, been pretty busy the past couple of days so for the most part I've just left my Bangle turned off until this gets fixed as to not potentially burn through any charge cycles. Though I have been monitoring this thread and tried what Gordon suggested with the long-press reboot.

    As soon as I booted in though my Bangle was for some reason rapidly trying to connect to and disconnect from my phone, to the point where the widget kept shifting between connected and disconnected and the battery percentage kept changing a few times a second. Not knowing what was going on and not having the energy to troubleshoot at that moment, I just disabled Bluetooth on my phone, rebooted the Bangle with a long-press, and still got the same battery drains. Though I did wake the watch and went into the settings menu to see if something in there caused that Bluetooth issue, which might've started whatever was causing the draw.

    Right as I was typing this post though I got the reconnecting issue to stop by just simply forgetting the bangle on my phone and pairing again. I didn't do anything with the touchscreen for this session and (as far as I'm aware) haven't written anything to flash, so we'll see what happens next before I fall asleep.

  • As soon as I booted in though my Bangle was for some reason rapidly trying to connect to and disconnect from my phone

    This isn't the Bangle, but is your phone making and dropping the connection. Sometimes it happens if you've changed the Bangle settings (eg adding iOS app, or USB HID) then paired with the phone and then reset the Bangle. The phone keeps connecting thinking it'll have the feature available, then drops the connection when it's not.

    As you say, just unpairing the phone from the OS menu will fix that... but if that's what was happening previously it'd definitely cause a lot of battery drain!

    @fishhf out of interest have you ever let it run completely flat so it turns off? That should totally reset all the hardware so if you haven't it might be worth a try.

    I've been trying various things with a Bangle that appeared to have battery drain here, but after the initial issue and the reset I can't get it to drain the battery any more.

    I should have a Bangle that we know has an issue back here by Monday, and then I can start digging in to it to see what's wrong and hopefully sort out the issue for you both properly soon after.

  • Hi Gordon, all the tests were ran until the battery is completely flat, not able to turn on until it's plugged in.

    I've checked the watch this morning and it used up the remaining battery in the recovery menu as well.

    I've just started recording a video of me doing a reset and leaving it without changing any settings.

    My previous tests involved connecting it to my computer to set the time, and also changing the LCD brightness and calibrating the touches and not allowing it to connect from bluetooth. I've never paired it with my phone other than connecting it via chrome from my PC.


    1 Attachment

    • Screenshot at 2024-06-29 07-48-48.png
  • Just uploaded a video of resetting it and leaving it alone without changing any settings after charged for about an hour.
    It takes about 3 hours to go from ~3.80v to ~3.35v.

    I've added chapters in the video description, so don't use the embedded viewer.

    https://www.youtube.com/watch?v=luqHR-pWiR0

  • Great, thank you!

    I believe we have found the issue. At startup the GPS enable pin wasn't being set one way or the other (it was left 'floating').

    This never used to be a problem as the GPS defaulted to being off, but it appears that in the most recent boards a new batch of GPS chips have been used (although they report themselves as being identical) and somehow this has meant that some of the GPS chips now turn on when the enable pin is left floating (although not always!).

    I've just updated the firmware, so if you now install the latest 'cutting edge' firmware the GPS enable isn't left floating but is solidly turned off, and this should completely fix the issue for you.

    Thanks for bearing with me on this - but hopefully this'll fix your issues once and for all!

  • Let me try right away.
    I was suspecting it's the GPS during the weekend but the setGPSPower needs an appID which doesn't seem I could toggle it globally and gave up.

  • It seems to be fixed, thanks a lot Gordon!


    1 Attachment

    • Screenshot at 2024-07-01 21-11-39.png
  • Excellent - thank you for testing!

  • Seems like this fixed it on my end too, just installed the update with my battery at 82% and the percentage hasn’t went down at all 3 hours later, even while connected to my phone. Thanks Gordon!

  • Great! Thanks for the update! We've started sending Bangles out with the new firmware now just in case - but the main 2v23 release still has this problem (you need to use a cutting edge build instead)

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

Battery drain with custom clock

Posted by Avatar for fishhf @fishhf

Actions