BJS2, drop in battery life since update

Posted on
Page
of 2
/ 2
Next
  • I got my BangleJS 2 with the kickstarter, once the firmware reached v12 I stopped updating it. Why fix if it ain't broken?

    And then a couple weeks ago it broke, got some kind of "storage corrupt" message and it factory reset itself. Figured I'd take this time to update everything. Firmware is now v24, all the apps are up to latest as of August 1st.

    My problem is that, prior to this, when I was on v12 of the firmware, I was getting 9-10 days battery life. Since the crash and update I'm only getting 4 days. My settings are the same as far as I can tell, LCD brightness and timeout are low, single vibration with no repeat, HR monitor is off. I don't use any GPS or weather apps, it's strictly for checking messages right now.

    Does this match anyone else's experience? Has battery life dropped significantly as the firmware has been updated? Or am I maybe missing something?

  • That sounds interesting - did you try going back to 2v12 to verify if it would have better battery life for you still? Maybe you even have a backup of your watch from before the storage corruption so you could get it to the exact same state as before?

    I think I generally get a week or a little less out of the battery with how I use it currently - latest firmware.

  • I have not yet tried to downgrade yet. I want to gather more information about the experiences of others before I make the effort; it is way more than just the firmware that is different now, keep in mind: I was using 3 year old versions of the message and android apps as well, which seem to be much more difficult to downgrade than the firmware.

  • I was using 3 year old versions of the message and android apps as well, which seem to be much more difficult to downgrade than the firmware.

    Yes this is true, but in the case you had a backup from before then the apps in that backup .zip file would be the older versions. :)

  • Not the case for me. Get my week battery life as before.

  • I also experience a significant drop in battery life since the firmware update (before it was over a week, now i barely get two days). I tried to downgrade the firmware, but it didn't help. Now I'm on 2v24.
    In the changelog for the newest update one can find this:

    Bangle.js2: After Bangle.showTestScreen, put Bangle.js into a hard off state (not soft off)
                Fix for unexpected power draw on newest batch of Bangle.js devices
    

    So I guess they are aware that there is a power draw problem, but at least for me it wasn't fixed by the 2v24 firmwareupdate.

  • As it said that is for the newest batch of bangles, it is a pin for GPS which was left floating by default and on all older ones this was interpreted as false, but on newer ones its true so GPS was on unexpectedly. This won't be the issue here.

  • is there any way to find out which app/function draws the most power?

  • I doubt that's possible with the firmware.

  • The Power Manager app has a logging feature:

    You can switch on logging in the options to diagnose unexpected power use. Currently the logging can capture the code running from timeouts and intervals and the power up and down of some devices. The captured times are probably not perfect but should be good enough to indicate problems.

    You might find something out with that :)

    Edit: there's also this: https://www.espruino.com/Reference#l_E_getPowerUsage

  • I have attached the logging of my bangle.js, but I have now Idea what I should do with those. Maybe someone can see if there is anything off.


    3 Attachments

  • It's interesting you're hitting issues. I didn't see any big issues, and watches that I keep mostly disconnected here with standard-ish clocks (pebblepp, twotwo, anton) still seem to last around a month.

    Thanks for that debugging - I do see this:

    Time	Percentage	Device
    18h37m6s	74.62%	LCD
    12h20m34s	52.21%	HRM
    

    So I wonder what your HRM setting are set to? One thing that did change between the KickStarter versions and now is we use the manufacturer-provided heart rate algorithm which it a lot more stable/accurate than the open source one. The poll rate for the HRM sensor may have also changed (especially if you had an early Bangle.js 2) so that could be affecting you

  • Well my HRM is off. Before I upgraded it was ten minutes, but when I noticed the battery dropping so quickly after the upgrade I turned it off. LCD brightness is 0.1, timeout 5 seconds.
    I tried downgrading back to v12 but nothing worked, or at least neither Anton nor the app loader worked, I'd get errors about bad line termination on my watch or something like that, and errors about bad JSON in gadgetbridge.
    I was able to go as early as v19. Fully charged last night, it's now been 12 hours and it's only down 3% which is a huge improvement.
    I'm going to let this run for a few days then upgrade one version at a time to see if I can pinpoint the version that caused my problem.
    I swear, if I get to v24 and it continues running fine I'll be mad. I don't have to tell you about the frustration of unreproducible errors :p
    I'll update in a week or so.

  • So that didn't make a difference actually. v19 looked like an improvement over v24 but only because I wasn't paying attention. Took 2 days to get down to 80% and then 3 days to drop to (almost) 0.

    While 5 days isn't bad and I shouldn't be complaining, it's still unusual. I was getting 9-10 days on v12. See before and after images.

    I installed the Power Manager app, turned on logging, and let it run for about 20 hours but all I got was a massive "powermanager.log" file. How do I get the other files I see in this thread, especially the "Hardware.txt"?


    2 Attachments

    • After.png
    • Before.png
  • @user158816 how did you get those files?

    So @WizardStan did you restore the JS firmware to factory defaults for that Bangle.js firmware version each time? Honestly the biggest power draw increases are likely to be from changes in the JS side of things.

  • Yeah, after installing the firmware I did an "Install default apps" and "Reset settings" and then updated my LCD settings to turn the time it's on to minimal. The only extra app(s) I installed was Messages/Android.

    I'm going to try manually downgrading each app by going to their respective githubs and going back in the history, grabbing the source for whatever was available to v12, just to try and rule out the possibility that it could be a coincidental hardware failure. The corruption that started this whole thing could've been caused by the battery spontaneously doing something bad and maybe it really does just have half the capacity it used to.

  • Ok, so even with factory reset you couldn't get 2v12 working? I know the watches have changed slightly over time (different barometer and HRM sensors) and I've had to add support for those over time so it's possible that if your watch was one of the newer ones, it wouldn't ever have been able to run firmwares earlier than a certain version.

    But if you can find a firmware+factory image that does appear to use less power right now than the current version, I can try it on a Bangle.js I have here that's cut open so I can measure power usage, and maybe I can track down the issue.

  • The problem I'm having with the 2v12 is definitely app based, I assume there's some new functions in later firmware that some apps use which cause them to fail.
    I tried manually downgrading Anton clock as I mentioned and that was causing it's own problems, so instead I installed a different watch face ("Simple Clock") and that seems to be working now.

    Here's the interesting thing though. My battery was at 10% on v19 when I decided to risk downgrading to v12. When it completed (and I did a full reset of the watch) it started reporting a battery level of 45%. Is that ringing a bell? Did you change the way battery level is measured at some point? I'm going to let this keep running; if I get another four days that'll be... something.
    I've got a lot more experimentation to do, the mystery deepens. Too bad it takes days to learn anything.

  • Did you change the way battery level is measured at some point?

    Well, that is a point - we did change the way it was measured, yes - to make the reporting a bit more linear.

    Actually that does remind me, looking at your graph... How long do you leave the Bangle on charge?

    Because it looked like it wasn't left on very long (or that may just be because the graph was for multiple days!). One issue is that the battery percent is based on battery voltage, and when the battery is charging the voltage is higher. So the Bangle will say 100% when on charge, when actually it needs to stay showing 100% on charge for an hour or two at least for it to really be fully charged.

    ... so it might have just been that the Bangle battery isn't being fully charged up now?

  • I usually let it charge for a few hours, yeah, even left it overnight once with the same effect, 4.5 days and it was down to 15%. I'll start making specific note of how long I leave it charging, for science. Probably just charge it overnight, just to be sure.

    It's funny you mention making it more linear because I remember that happening. Used to be I'd hit 20% and it'D be dead in a few hours if I didn't plug it in. I forget when or how but I distinctly remember being pleased that I didn't have to treat 20% as effectively empty anymore. So that must've been 2v12 or earlier. Certainly more than a year a go which is as far back as gadgetbtidge seems to keep a record. But you can see in the before graph I posted it's pretty linear even at 20%, with only a slight knee at 80% whereas the after (which posted before the before, alphabetical I assume) had a very distinct knee at 80%.

    Anywho, now that I'm functional back on 2v12 I'm going to keep running some experiments, let it run for a few days, see how long it takes to go from 45 to 15, charge it back up, see how long it lasts, then back to v24 I guess and see what happens when I let the battery level drop to zero. Probably take me a month.

  • It was the messages widget. Or more specifically I guess the "Flash Icon" option.

    Ran 2v12 with as minimal as I could get using 3 year old apps installed from git: a watch face and Android integration (to record battery levels) and ended up with 17 days from 100% to dead. Upgraded just the firmware to 2v24 and got 16 days from 100% to dead, basically confirming that the firmware itself caused no major changes to the power consumption.

    Installed the message widget and suddenly it went from 100% to dead in 5 days. Disabled the flashing icon and it gave me the familiar 10 days instead.

    I've now uninstalled the widget, and updated the watch face, android integration, and message app. It's been 10 days and it looks like I'm going to get another 5 or 6 at this rate, same as my "minimal install" experiment. I'm just going to leave the widget uninstalled and recommend others remove it as well: I never actually relied on it for anything anyway.

  • That's great - thanks for tracking this down, and for the update!

    Do you think the issue is you leave unread messages on the watch, so the widget is constantly flashing?

    I guess in most cases we expect that if the widget is flashing as soon as someone notices they'll view the message and so it won't use much power... But maybe it should stop flashing after a few minutes to save power?

  • Yeah, I frequently leave messages unchecked so that they're still there until later when I can do something with them. At 6pm every Sunday I get a notification to put trash out, and sometime between 6pm and 6am the next morning I'll actually do it and then clear the notification. Or I'll get an email, see on my watch what it's about, and then ignore it for a few hours until I have time to actually deal with it. Frankly people that check their messages in a reasonable amount of time scare me ;)

    The fact that I'm apparently the first person to ever complain about this suggests it's not a big deal, so address it however you want. Turning off the flash after a minute or so kind of feels like it defeats the purpose of flashing to get attention though. I suppose this is really just a process issue and I should be deleting the notifications from my watch, without losing the reminder on my phone, but I've spent 11 years not-doing-that so am unlikely to start now. So no flashing for me.

    I'm just glad I figured it out and that there wasn't some weird bug in the firmware, because it actually works a lot better than the old 2v12 firmware I was using for years. Thanks for making such a good watch, by the way: I didn't think I'd ever find something to properly replace my pebble.

  • There's also a setting to disable the flashing icon, 'Flash Icon', only drawing it once. Thus not taxing the battery in the same way.

  • There is, and I mentioned so in my update. With the flashing I get 5 days battery life, without the flashing I get 10 days battery life, without the widget at all I get 16 days battery life.

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

BJS2, drop in battery life since update

Posted by Avatar for user158789 @user158789

Actions