Can't update Bangle.js 1 to 2v14 firmware

Posted on
  • Has anybody been able to successfully update their Bangle 1 to the 2v14 firmware? I tried to update mine using both the NRF Toolbox app and the IDE and in both cases the result was the same. The update says it completed but on reboot the watch gets stuck on the logo screen with "-->Bluetooth" at the bottom.

    Since it could still connect to the App Loader I tried uninstalling and reinstalling the bootloader and launcher apps but that didn't make any difference. One unusual thing was that when I tried to connect to it via the IDE (to turn it off) I noticed that a "DFU Targ" connection was listed, as though it was still in DFU mode for some reason.

    Anyway, I have reverted back to the 2v13 firmware for now (and fortunately all my existing apps are still there).

  • on reboot the watch gets stuck on the logo screen with "-->Bluetooth" at the bottom.

    This usually happens if you've just booted while holding the button down... Is it possible that could be it?

    I'm pretty sure everyone else has updated ok, or the forum would be full of complaints by now

  • Well I just tried updating the firmware again and got the same result. BTW, I noticed that the instructions on the Bangle.js "Firmware Updates" page say to release BTN1 a moment after BTN2 when holding down both to enter DFU mode but the IDE Flasher instructions say to release both buttons at the same time. In any case, I reverted back to 2v13 again and it worked as expected so it doesn't seem like a button issue.

    A relevant difference, perhaps: After installation of the 2v13 firmware completes my Bangle automatically restarts and shows my default watchface. But after installation of 2v14 completes I see "Reloading..." centered on the screen with "-->Bluetooth" on the bottom. I waited about a minute and nothing happened so then I long-pressed BTN3 and the "Loading..." box appeared but my watch never restarted. So I ended up long pressing BTN1 and BTN2 to restart the watch and that leads to the logo screen with "-->Bluetooth" on the bottom as I explained earlier.

  • Ahh - are all your apps up to date on the app store? Do you have custom apps?

    When you restart with 2v14, maybe connect with the Web IDE and type load() on the left-hand side. I bet you'll see some error messages.

    2v14 introduced proper handling of let and const keywords, which were handled as var before. As a result if you had code that did something like const foo = 4; foo=5; it will now fail with 2v14 - which may be what you're seeing. Doing an 'install default apps' would likely fix it but maybe you don't want to do that...

    We fixed the apps we're aware of that had issues, but those would need updating. Of course I guess there could be more apps that had problems that I'm not aware of

    Note: I did flash the Bangle.js 2v14 firmware on a Bangle.js 1 just now and it worked great for me, so I think it is probably related to the apps you have installed

  • Bravo @Gordon for your brilliant analysis (as always) and thank you very much for the tip about doing load() to resolve my problem!

    The "Stardate Clock" app is my default watchface and it erroneously defines globally referenced constants within an 'if' block, resulting in undefined value errors later in the code:

    if (g.getWidth() < 200) { // Bangle.js 2
      const baseUnit1 = 3;
      ...
    }
    else {
      const baseUnit1 = 5;
      ...
    }
    ...
    const outRad = baseUnit1 * 5;  // baseUnit1 is not defined
    

    I'd create a pull request for this but being a JavaScript newbie I'm not sure what the proper fix for this would be, sorry.

    Thanks so much again for your help with this! Hopefully your debugging tip will also help others running into problems with subsequent firmware updates.

  • Thank you @fewieden!

    I guess it takes a while for updates to make their way into the App Loader but look forward having that watchface on my Bangle again soon.

  • Gordon is currently on holiday, so probably no updates until he returns next week ;)

  • Thanks--nobody deserves a long, relaxing holiday more than Gordon so I hope he's having a wonderful time wherever he is! (I do wonder which watch(es) he took with him, however...)

  • :) Thanks! And thanks for the PR - just merged to the development loader and once I've caught up I'll get it all live on banglejs.com/apps

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

Can't update Bangle.js 1 to 2v14 firmware

Posted by Avatar for TTBangler @TTBangler

Actions