• Hi!

    My Bangle.js 2 is on the latest firmware (updated just yesterday).

    Today, I wanted to change my watchface, and at some point ended up with https://github.com/espruino/BangleApps/t­ree/master/apps/configurable_clock .

    Unfortunately, there seems to be no way to leave the watchface to get back to the settings.
    Usually I would shortpress the button and then swipe right to left to call up the launcher.
    Trying that does exactly nothing (except for unlocking the watchface).

    Long-pressing the button shortly displays 'Loading...' and then returns to the watchface.

    Bluetooth is turned off.

    I've tried connecting the bangle, removing all the stickers and the thin layer of sticky gum they left on the pins, and plugging it in to USB, so as to use the serial-web connection with the browser.

    The output of lsusb does not change upon plugging it it.
    There is no ttyUSB in /dev.
    dmesg doesn't show anything new when plugging the bangle in / pulling the plug.
    I've also tried applying some light pressure to the magnet connector, in case the pins don't connect or something... Haven't dared to use cleaning agents yet.

    I have read about resetting without loading any code, but I'm not sure that would be helpful in my case. I just need the watch to enable BT... or to uninstall the watchface... or to change the setting use another one.

    1.) Is there anything I can try to get a working (serial) connection (and if so... what do I enter to enable BT, including programmable + connectable)?
    2.) What does 'Clean boot' actually mean? I would like to keep my data, if possible... and not load the watchface, of course.
    3.) There's no way to delete an app from the reset option, right...? Or to enable Bluetooth, perhaps?

  • (btw. loading [charging!] works, and the bangle buzzes on connection)

  • try holding the button much longer to let it reboot and still hold it until you get to logo screen, then release, maybe then it will be available over bluetooth, or it should show factory reset options

    usb does not provide serial tty and won't help much in this situation (it provides SWD port which is something else)

  • btw. loading works, and the bangle buzzes on connection

    so problem solved?

  • Fixed wording - I meant charging.

  • Thanks.

    Ah... too bad, then.... I'd love it if someone could add that info to the WebIDE which offers 'usb to serial' connection, and to the STM32 section at https://www.espruino.com/Firmware+Update­ which doesn't say anything about what kind of physical connection is required to perform the instructions.

    My last backup is from May 10... :-( Should have made one this week.

  • I'll open a bug report about adding activating bluetooth and making it programmable to the recovery menu. Although it might be a security feature to not have it in there, not sure.

  • Actually, it seems BT is indeed active in recovery mode. Wish I'd not have forgotten to check, lol.


  • Bangle is not STM32 so STM32 stuff does not apply. And you have different problem anyway. You can definitely do firmware update over Bluetooth in this state but it won't help you with your problem. Clearing watchface or updating apps is not a matter of updating firmware version. I admit I don't know what "Clean Boot" in recovery menu does but I'd guess it won't erase your stuff so maybe that's what you want - it may just avoid running any code so the device might stay open over bluetooth to connect via Web IDE. For erasing there is "Factory Reset" down below.

    You can do DFU (=device firmware update) when releasing button while the ====== line goes across the screen.

  • Seems the main issue is the latest firmware (and clock faces not being compatible). The other parts are just stumbling blocks when trying to fix the problem. Going back to older firmware would actually have helped.

  • The recovery menu items are documented in https://www.espruino.com/Bangle.js2#reco­very-menu

    I've just moved the issue to BangleApps https://github.com/espruino/BangleApps/i­ssues/3454

    The Bangle.js page does very specifically say:

    The supplied charge cable connects to a USB port to charge Bangle.js (despite there
    being 4 wires, those are for SWD programming and there is no USB data connection).

    But I'll add a note under firmware updates as well, just in case. I don't think the IDE should have to have a note on 'Web Serial', as it's designed to connect to many different types of device via different methods - it's not just for Bangle.js 2.

    But if anyone gets into this because they have Bluetooth issues - just long-press to enter the recovery menu. Bluetooth is enabled there, and you can connect with the App Loader and do a Backup, or can even do a Factory Reset from the menu itself

  • @Gordon Thank you.

    The issue is that... I read all of the things you quoted, but I understood them differently / could not understand them because of a lack of assumed preexisting knowledge.

    • 'USB Data' to me did not mean that no USB at all, just some specific kind of Data access. Could still have worked for USB serial... or whatever other possible types of 'USB connections' exist there. Who knows!
    • If I choose Bangle.js 2 before that item with the web serial becomes accessible... I assume it should be available. It would seem useful to me to restrict choices to what actually works, depending upon the selected device.
    • The Recovery section on the troubleshooting page did not say that it enables Bluetooth. That would have been super helpful to me. I thought I was completely locked out.
    • The recovery item documentation may be helpful to a seasoned Bangle / Espruino dev, but in its shortness, it's not too useful to someone who isn't.
    • SWD sounds like 'serial web ...' - I thought it was worth a try. Why is it even mentioned on the Bangle page when it's not available? (the abbreviation could at least be explained once for the noobs)
  • It would seem useful to me to restrict choices to what actually works, depending upon the selected device.

    When did you actually select the device? The problem is people use the IDE for multiple different devices. Sometimes they'll program a Bangle, disconnect, then program another type of device so I can't assume that one particular device is being used based on what was last used.

    The Recovery section on the troubleshooting page did not say that it enables Bluetooth

    Yes, sorry - I added that after your last post and it'll go live with the next update.

    SWD ... Why is it even mentioned on the Bangle page when it's not available?

    SWD is available, but it needs external hardware so you can use it. SWD is not USB, it just happens to be on the connector.

    I'm happy to try and improve the documentation (and I have done after your first post) but the documentation has to be clear for a bunch of different people with different devices as well as use cases. I do try and have specific pages like this for getting started with some devices, but even then they have to be intentionally short so as not to be confusing.

    If there are specific areas you think I can improve let me know, but I often can't assume a user is using a specific device.

  • I thought I selected the device after clicking on 'connect'... yes, that is the same dialog... mmmh. Still, wasn't clear to me.

    Thanks for adding the 'BT in recovery mode' info. That's a real life- (or watch-)saver.

    Next time I need to use the docs, I'll watch out for things that may seem unclear to someone inexperienced like myself.

  • Next time I need to use the docs, I'll watch out for things that may seem unclear to someone inexperienced like myself.

    Thanks! There's a lot of stuff for me to maintain there, so if you (or anyone else) notices anything that could do with a tweak (or somewhere where we should link to other info) then please mention it!

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

Bangle.js 2 / Linux Mint 21.3: Can't leave selected watchface, can't connect via serial to somehow disable the watchface

Posted by Avatar for Alathaea @Alathaea