• Pleased to report that I have got 37 days of continuous use of a Bangle 2 from a single charge.

    18 sep 100%
    21 oct 19%
    25 oct 9%

    I decided to end the test today and put it on charge as I have not been checking it that often.

    The watch was left in a draw for that time. I think if it had been on my wrist, using the step counter, back light and it would not has lasted so long.

    My configuration for the test was the Lato clock, all the clock_info's , with the sunset one selected.

    I normally get about 2 weeks from my general use now. I quickly consume the battery if I flash apps multiple times.

  • That's great to hear! I usually only hear complaints when something is going wrong. Over a month is what I routinely see here too with the watches I have kicking around.

    When there is movement the accelerometer does enter a higher power mode and that can affect battery, but it's not massive. The backlight is a massive power draw if 'wake on twist' is enabled too.

  • will apps like "pattern launcher" and "seconds" in the clock face (I use anton clock plus for seconds) heavily reduce the usage time?
    I have to re-charge the bangle v2 almost each 1.5 day.... it can drop from 100 to 55 even i put it on table and i go out today...
    (bluetooth always on)
    I have the heart rate monitor, GPS and compass turned off (in the "info") app.

    btw, the temperature is almos always 30-31oC even the temperature in my town range from 25-32, how can i test it?

    thanks


    1 Attachment

    • WhatsApp Image 2023-10-27 at 00.02.18.jpg
  • Here @fanoush has taken the time to explain power draws from updating the screen: https://forum.espruino.com/conversationsĀ­/390481/#comment17137544

    :)

  • so, u guys with seconds off, update screen only 60x24,
    while for me with seconds on, it's 60x60x24 thus using seconds is way more energy consumption?

  • Yes, more or less šŸ‘

  • Yes - showing seconds really hurts battery usage. Some clocks are better than others though - if they update just the seconds text every second then they'll waste a lot more power than one which redraws the whole screen every second.

  • if they update just the seconds text every second then they'll waste a lot more power than one which redraws the whole screen every second.

    Good to know, thanks for the insight! I would have thought it was the other way around.

  • typo? lot less power if you update just the second text?

    Any nontrivial piece of javascript takes tens or even hundreds of miliseconds to execute.
    If you run something for 100ms every 1s then the CPU is busy 10% of time (drawing ~4mA, instead of mostly zero)

  • Sorry - maybe I wasn't clear - what I mean is, in order of power usage:

    • Update every minute - by far the best battery life
    • Update every second, but only update the area where the seconds text is
    • Update every second, but update the whole screen - by far the worst

    Updating every second will still hurt battery over updating minutes, but it's significantly better than the whole screen. I know some watch screens can take almost a second to update, so in that case the CPU is occupied pretty much all the time.

    But for example this code, tried just now, takes around 3.5ms, so isn't going to be so painful at all:

    function onSecond() {
      var t = getTime();
      var d = new Date();
      g.reset().clearRect(0,24,100,48).setFontĀ­("6x8:3").drawString(
        d.getSeconds().toString().padStart(2,0),Ā­0,24);
      d.getSeconds();
      g.flip(); // just to ensure we include the screen flip in our time estimate - not needed
      print(getTime()-t);
    }
    
    setInterval(onSecond,1000);
    

    By contrast Anton Clock plus redraws everything and when seconds rendering is enabled it takes around 175ms every second, so obviously is going to be terrible!

  • Ah, ok. That makes more sense šŸ˜‰ Thanks!

  • Reading this topic, I was thinking about the run+ app.
    It draws quite a bit of energy. If I understood correctly, by changing the the code so that it updates only some parts of the screen, it would become more energy efficient ? At the moment I'm often doing 1 hour runs, which wastes roughly more than half the battery (using gps update every second, and an external bthrm (internal off)). In a month I have a half marathon, which should take 2h30. Besides running faster, do you have any advice to get a chance of finishing the race without flattening the battery ?

  • IIRC I made the graphics for the hr intensity screen to draw pretty lazily. But maybe it could be taken further!

  • By far the biggest power draw is the gps. Screen updates are less taxing. Be sure to have wake on twist setting set off otherwise your backlite will come on all the time you are moving about.

    The gps will discharge the battery from 100%-0% in about 6 hours.

    The battery life of the run app could be extended much further by turning the gps on until it gets a fix, off for 30 seconds then on until it gets a fix. I did this in the gpsclock info and was able to use the gps for 48 hours. When moving about the time to get a fresh gps fix from power on will increase and may take a while longer.

  • As I understand it the Run+ app is basically the Run app with an extra screen, and the Run app uses Layout which should update lazily. In fact there was an issue a few weeks ago where the Lazy draw was meaning the screen didn't update correctly after a prompt was shown so I think we're good.

    But exactly as @HughB says:

    The LCD backlight is the biggest power draw in the system so if it comes on by accident when you run, that will really hurt battery life.

    And GPS is second largest power draw - I guess it might be possible to implement something in the exstats module as @HughB says (to ensure power usage is lowered) but potentially that will hurt the metrics you see on-screen like speed.

    You should also make sure you use the AGPS app and set up just GPS as the source, as that can save quite a lot of GPS power consumption.

    It should be possible to configure the GPS itself into a low power state, but the documentation for the chip really isn't great and unfortunately I haven't been able to find out anything useful

  • It should be possible to configure the GPS itself into a low power state, but the documentation
    for the chip really isn't great

    There was quite a bit of experimentation done a while back by @Mark_M (I think or Mark someone). I would post the thread but I never been that successful with the search tool in the forum.

    One of the findings was that certain documentated features did not seem to respond and appear to be working. I have never had time to go back to it to look.

    @Fteacher - might be worth testing your watch out on a window ledge where the GPS will get a fix. Download the AGPS data, switch on the run app and get a fix. Then leave it for 4 hours and check what the battery level is. Then repeat and add in the bluetooth heart monitor.

  • I estimate that I'm typically getting up to around 2 weeks regularly wearing the watch with:

    • a clock that updates once a minute
    • health monitoring set to every 10 minutes
    • wake-on-twist/motion and so on disabled (despite trying all sorts of settings I never could get them to work well without constant false wake-ups anyway)
    • some occasional timer/stopwatch/alarm use
    • not really any GPS use (due to lack of need and because of the relatively severe limitations)

    which seems pretty reasonable. In practice since I use the watch as a daily driver I normally charge a bit more often than that to avoid the battery dying at a bad moment. Since the battery meter tends to hang out around 9ā€“10% for a long time it's hard to be sure what the true max runtime would be without risking that; I consider that level as a sort of ā€œcharge as soon as possibleā€ low-battery signal.

    I do notice that long use of timers that update in 0.1-second intervals tend to drain the battery particularly rapidly. (At least one app seems to do such updates only when the screen is awake/unlocked and then cuts back to once per second, which seems like a good idea.) But occasional use of once-per-second displays for a few hours here and there doesn't seem to hurt overall runtime too badly.

  • Thanks for your help ! Obviously the culprit was the wake-on-twist. It is very handy while running, but the power draw being so high, it can be advantageously replaced by wake-on-tap. I did a short test run today and I realised 1)I don't need any backlight if running in daytime. 2) Just this might be enough to save enough energy to handle 2h30 in a row. I'll test that next week with a long run.
    If it's not enough, I was thinking that the recorder app has a "time period" settings. I've set it to 1s, but do you think setting it to 2 secs would save a fair share of energy ?

  • but do you think setting it to 2 secs
    would save a fair share of energy ?

    I doubt it will make any difference as the gps will still be fully powered between fixes.

    But the proof is always to test and compare.

  • I saw there's been updates in Run+ and recorder not so long ago, was something changed ? I went for a 1h25 minutes run with batteries fully charged. I had AGPS with gps+glonass, the BTHRM and using the run+ app. Back at home, I checked the battery after a shower, and it showed 71% left ! Still, during the run itself, the battery gauge, visible in the run+ app, went down to 1/3. Is that something I should be worried about ? I have an almost 3 hours race coming this weekend...

  • Nothing has changed apart from a minor bugfix - when a dialog popped up the screen wasn't cleared, that's it.

    If you need the best power consumption do turn off Glonass - I can't remember exact figures but IIRC it uses about 70% of the power if you just go for GPS

  • 71% after 1.5hrs with GPS sounds about right to me based on my experience.
    You should get about 5->6 hours with GPS on before the battery will go flat.

    I have noticed when there is a lot of stuff drawing power that the % pwr will recover a bit after you switch the power drains off. Hope that helps.

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

My Bangle JS2 battery has gone 37 days and is at 9% now

Posted by Avatar for HughB @HughB

Actions