Bangle.js 2 destroyed firmware

Posted on
  • Hi

    Working with the Chrome web IDE, I mistakenly choose "Flash" instead of "RAM".

    After this clumsiness, I tried to upload the firmware again. After different tries with the web IDE on Mac and with the DFU app on iPhone during 2 days, I take my iPad, removed the protective cover, put watch and iPad close together and tried it again with the DFU app . Lo and behold, as a result of this, I managed to upload the firmware several times. Actually, the firmware version 2v17 is uploaded.

    Now I have a problem, to use the watch and specially with the App loader. As a result, I see the the bangle start symbol showing correctly the 2v17 firmware version and a "Loading ..." symbol which stays eternal on the display. Additionally, the following text "=> Bluetooth" is displayed don the bottom of the LCD.

    After successfully uploading the firmware, the symbol "Reloading ..." is displayed all the time on the LCD.

    Do you have an idea, how I can bring the watch to life.


  • It sounds like you didn't actually break the firmware, just the JS code that gets run on boot. The files that get run are described here.

    Follow the procedure to reset without loading any code. That should get you to a Banglejs logo screen. From there, use the IDE to delete any of the following that exist: .varimg, .boot0, .boot1, .boot2, .boot3, .bootrst, and .bootcde. (You probably only have .boot0 and .bootcde.) Then, go to the app loader and reinstall the Bootloader app. That should fix it.

  • Thanks for your help

    I tried to connect the watch from IDE and get an error message "Connection failed: NetworkError: unsupported device"

    Question: How can I delete ".boot0 and .bootcde" using the IDE?

  • I do not know how to fix the error that the IDE is throwing. But once that's fixed, you can click the cylinder icon to view the list of files in the device storage, and then each file will have a couple buttons, including a trash can to delete it. Or, you can use the Storage module. Specifically, require("Storage").erase(".boot0") and require("Storage").erase(".bootcde").

  • Thanks for the instructions

    Maybe someone has recognized in the past the start logo screen with additional text “-> Bluetooth” at the bottom of the LCD. After each additionally connect try this text is shown once more.

  • Since you're having trouble connecting with Bluetooth I would suggest trying to connect to it with different devices (phone, laptop, PC, etc.) by using the web IDE or app loader through a supported browser like chrome (not gadgetbridge).

    If you don't see it right away it's possible it's already connected to something else in which case you can hold the button down for 6-10 sec for it to do a full reboot and hopefully show up as available to pair.

  • Hi - as others have said, you didn't actually break your Bangle.js firmware, you just overwrote a bit of JS. From­pment :

    Note: If you've used Espruino before, make sure the Upload button (middle of the screen) shows RAM underneath it. Otherwise by writing to Flash you can remove the watch's built-in menu (you can just re-add it by removing and installing bootloader using

    So now you've uploaded the firmware, your watch is actually booting to the Bangle.js logo?

    So I think your connection issue is maybe just your computer getting confused after rebooting Bangle.js and doing firmware updates and things. Try disabling and re-enabling bluetooth on your computer (maybe even a reboot) and see if that helps?

    As others have said, maybe try other devices too. Once you get the app loader connected and re-upload the Bootloader app it'll all be fixed

  • Happy, my watch is now running again, Happy

    Steps to solve the problem:

    1. I ignored the bangle.js device in the Bluetooth list of macOS.
    2. I successfully connected to the App Loader
    3. I removed the Bootloader app
    4. I uploaded the Bootloader again
    5. success

    *** many thanks to all ***

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

Bangle.js 2 destroyed firmware

Posted by Avatar for Artom @Artom