Battery drain with 2v06

Posted on
of 2
/ 2
  • Hi,
    has someone a similar experience? I updated to 2v06 and after this the time on battery drops from more than one week to two or three days. It might be that my Bangle.js is a special case where this effect is getting more visible than on others. I'm running a hour buzz chime which (unnecessarily) checks every second if another hour is over. But this (and also the 24 buzzes) did not drain the battery that much in the previous versions.
    Something is different in this version.


  • Yeah I've also noticed battery drain is a lot quicker since I updated. I have been doing a lot of coding so thought it may have been that but maybe it is something else.

  • That's an odd one. I can't think anything specific changed between versions. Which apps do you have installed? It could totally be one of the apps causing issues.

  • I have a number of apps installed but the only one I really use is my binary clock and gadget bridge. It's entirely possible that I've done something stupid but I was using this app before firmware update and wasn't noticeable. One thing I have noticed is I've started getting a "Memory Busy" message at the bottom of my screen but that may also be unrelated.

    For reference I fully charged the watch around 4pm yesterday and with no usage other than checking the time it is now at 50%.

  • I've started getting a "Memory Busy" message at the bottom of my screen

    That's very strange - are you sure there's nothing else? MEMORY_BUSY usually happens when memory gets pretty full, a garbage collect is needed, and then something in an interrupt needs to try and allocate some memory - it should basically not happen with only a simple clock and gadgetbridge.

  • I changed nothing for weeks but the firmware. Before it ran for more than a week, now sometimes less than two days. And it is unpredictable. It drains slow than suddenly fast. It's also strange that the battery widget shows "old" values. My app shows other values (widget from app loader approx 90% bar, my app 56% as a numeric value), but the drop was not that high in the widget update cycle.

  • Same here, battery life is definitely significantly worse on 2v06 with the same apps installed.

  • I think I have active pedometer too as there is a widget for it so it could be that.

  • I have this problem, I saw that the battery didn't last that much the last three days, so, I charged my watch and left it in my desk for a day without using it at all, after I look at it and died. I experimented with several configurations before without issues, the only thing different is that I left these widgets: Tiny blue battery, Gadget Bridge(no icon), RAM and Weather. No other app seems to be in the background so my guess is the Weather one. I'm charging the watch because it died, I'll remove the Weather widget and report back.

  • I've had a problem with the weather app (on an Android phone) recently. Suddenly, the app started to report something about not having an API key so couldn't get a location. Maybe this is causing the battery drain as it can't fix a location?

  • Editing my post here cos its misinformation. Its not advised to always keep charging until it vibrates because its bad for the battery. And 100% is close enough to being full anyway. I posted this misinformation before i didnt do enough research on LiPo batterys.

  • Seems like this is at least part of the problem. I've been charging the bangle till it reaches 100% assuming this meant the battery was fully charged. I'll try a much longer charge and keep an eye on the charging icon and see if it makes much of a difference.

  • These are not simple measurements based on a widget or a simple hunch :), proved with real experiments (twice) and yes, removing the Weather widget improved my battery life, it has the desired behaviour. Haven't look the code but it may need some kind of timeout and retry for avoiding this. My experience with my Bangle is if you install the Weather widget be careful that you have communication all the time with your phone or not install it at all, for now.

  • I'm surprised that the weather widget makes that much of a difference. It doesn't do any active polling or anything, it just passively waits for your phone to send it weather events.

    @user112504: There are instructions for fixing the API key issue at­ation/wiki/FAQ

  • const _GB = global.GB;
    global.GB = (event) => {
      if (event.t==="weather") update(event);
      if (_GB) setTimeout(_GB, 0, event);

    Does anyone know where this code is called from? I can't see a reference to GB function
    Looked in weather app and gbridge app. Hmmm

    EDIT: Found an answer :­345459/

  • Just to add to the oddness, I have found that my battery will drain (the number on the widget) even after a full charge (agin just to the 100% on the widget) to 50% even though all I did was change the watch too 100% and then turned it off using the option in the settings. Is this normal? I kind of thought off would mean no drain at all? 50% lose over a week of being turned off sounds high?

    I don't have the weather app btw

  • The battery will drain when the watch is off I'm afraid - due to the design everything is still basically connected, it's just put into a low power mode.

    Are you sure your firmware is all up to date (2v06)? I'm pretty sure the older 2v05 firmware didn't get everything into its lowest power consumption state.

  • @Gordon does there exist a way to fully turn it off?

  • does there exist a way to fully turn it off?

    No - as above stuff is physically connected to the power rails and the only way to disconnect it is with a wire cutter :)

  • only way to disconnect it is with a wire cutter

    At that point you might as well just open it up and take out the battery :)

  • ...or adding an IP65..IP68 conform or directional shock controlled electro mechanical switch.

  • @Gordon yes it is 2V06 but I think you can ignore me as the min it was connected to power it jumped to 70% so I think it is just a point that the battery widget is a bit buggy

  • I am temporarily using something like this which overrides the api used by all apps and widgets:

    E.getBattery = function(){
      v = analogRead(30);
      const vlo = 0.52476562;
      const vhi = 0.63476562;
      pc = (v-vlo)*100/(vhi-vlo);
      if (pc>100) pc=100;
      if (pc<0) pc=0;
      return Math.round(pc);

    Still in the process of finding the best numbers for my device. If you want to see what numbers to use for your device (albeit the linear discharge is not accurate as Gordon mentioned elsewhere), you can dump it onto screen easily with :

    g.setFontAlign(0, 0, 0);
    g.drawString(" " + analogRead(30).toFixed(8) + "%",120,120,true);

    So that will show you which number to use for the vhi variable, which is the upper limit. This needs to be done after you have fully charged the battery, meaning that you no longer see the green Power widget or Bangle.isCharging() returns false whilst plugged in. But you should try to do these tests under average load/strain conditions to get the best number for you. Im still testing the lower limits, but my method to set the lower limit so far has been to use the formula :

    origvlow + (newvhi-0.62)
    Which in my case is 0.51 + 1.3476562.

    The vlow used in original E.getBattery code is 0.51, and vhi is 0.62. If you're curious this is a 1:1 behaviour to the default api except with the volt constants changed.

  • Just a thought about battery percentage.... Maybe we should make E.getBattery return values based on a different set of thresholds when the battery is charging vs when it's normally running down?

  • So I analyzed it for my case: I used a one second interval to test for full hour to produce a chime. This was no issue before, but after firmware upgrade (also latest) this leads to drain. When I disable this, the interval battery drain stops. It involves only interval, date and 24 times a day a buzz.

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

Battery drain with 2v06

Posted by Avatar for Tx @Tx