[Solved] Trouble performing BLE DFU update on Bangle.js #1285
Replies: 40 comments
-
Posted at 2019-12-04 by @gfwilliams
Had you pressed any buttons after that point? Pressing BTN1 causes it to exit and run the watch firmware again which is as you described, but if no buttons are pressed it should sit there and be fine. Maybe you could record a video to show what happens?
That's because you have to connect when the watch is in DFU mode
yes, I know there are a bunch of people (me included) that do it often. The Espruino firmware was actually loaded onto your watch wirelessly via that exact bootloader so I'd be pretty suprised if it was broken. Is yours a Nodeconf Bangle.js?
yes, it says something like:
|
Beta Was this translation helpful? Give feedback.
-
Posted at 2019-12-04 by feugy I'm also having some issues, but not exactly the same as Sebi. On my Android phone, I select the latest firmware, then my bangle ECDB device, and I hit the upload button (see attached screenshot) While uploading, nothing happens on the Bangle.
Attachments:
|
Beta Was this translation helpful? Give feedback.
-
Posted at 2019-12-04 by @MaBecker This is what I do to for Firmware Updates Attachments: |
Beta Was this translation helpful? Give feedback.
-
Posted at 2019-12-04 by sebi
No.
See enclosed video.
Indeed.
😕 not exactly ...it is the F watch my nephew got for his birthday I hacked. Sorry for that Gordon: I just couldn't resist installing your software onto the watch (I do own a a Pico, a Puck.js and your book though).Attachments: |
Beta Was this translation helpful? Give feedback.
-
Posted at 2019-12-04 by @fanoush So there is no bootloader at all in your watch, did you just flash soft device and the app? |
Beta Was this translation helpful? Give feedback.
-
Posted at 2019-12-04 by @MaBecker Make sure you get the Bangle.js into "DFU Started" mode like in (1) |
Beta Was this translation helpful? Give feedback.
-
Posted at 2019-12-04 by feugy Thanks all for the support. I'm just confused with one thing: on the Android DFU app, I don't have |
Beta Was this translation helpful? Give feedback.
-
Posted at 2019-12-04 by @MaBecker Check around 00:18, BTN1 is pressed too long and Bangle.js reboots. When ==== shows, just release BTN2 and short after that BTN1 |
Beta Was this translation helpful? Give feedback.
-
Posted at 2019-12-04 by sebi @fanoush: When compiling the firmware the log displays:
...so I was thinking that the I only flashed this latest as this process worked correctly on my @MaBecker: |
Beta Was this translation helpful? Give feedback.
-
Posted at 2019-12-04 by @MaBecker
Try this: When ==== shows, first release BTN1 and than BTN2 |
Beta Was this translation helpful? Give feedback.
-
Posted at 2019-12-04 by sebi
As soon as I release BTN1 (with BNT2 being pressed still) I can read for a short fraction of second |
Beta Was this translation helpful? Give feedback.
-
Posted at 2019-12-04 by @MaBecker Have a look at this clip: Attachments: |
Beta Was this translation helpful? Give feedback.
-
Posted at 2019-12-04 by sebi On my watch I get this result (see video).Attachments: |
Beta Was this translation helpful? Give feedback.
-
Posted at 2019-12-04 by @fanoush @SEBI ok, then you have the bootloader indeed, bad guess. If you would mass erase it (unlock flash protection like you said) and then flash just softdevice and the app it would behave like this as bootloader is optional and reboot would just restart espruino. but that would give you all FFs with that peek command. |
Beta Was this translation helpful? Give feedback.
-
Posted at 2019-12-04 by sebi @fanoush: [EDIT] I checked and address |
Beta Was this translation helpful? Give feedback.
-
Posted at 2019-12-05 by sebi Thank you so much Gordon for helping me. The reason DFU mode was failing was exactly the one you anticipated. I was using arm-none-eabi-gcc version I tested an was able to perform BLE DFU upgrade from version Thank you again for your reactivity and your willingness to help. Finding a way to get a few more bytes out of the bootloader is definitely out of my reach. But I wish to contribute by filing bug reports and sharing small apps with the community. |
Beta Was this translation helpful? Give feedback.
-
Posted at 2019-12-06 by Robin Thr 2019.12.05
@fanoush totally agree and have been thinking along the same lines for all the official supported boards. It is a tough call to determine that balance and has also been seen by numerous posts of frustration from Gordon. Thought of splitting the forum into two separate themes where Gordon only responds with support for the official line. But then some readers may miss when some good idea would pop up on the other. For me, it is a bit frustrating attempting to support code snippet error requests, only to find the requestor doesn't have an official board, when the claim was there all along. One of the reasons I ferret out those suspect by requiring
Yes. That should be left to the heavy hitters such as @jumjum, @gfwilliams, @MaBecker, @fanoush, etal (unintentional ommisions to make a point - done from memory as not fully aware of those in the trenches that should receive more acknowledgement) IMO so as the Kickstarter was tremendous proving this is the next coolest thing as MaBe so creatively stated the first week of November: I promise, you gone love it! (sic American ver: You're gonna love it!) and that first run will require ~1000 users, estimating ~200 will desire near immediate forum participation, why not have a forum verification addition, such as a Bangle icon or/and the text 'Bangle' beneath where 'Patreon' shows? This would not only provide we contributors instant feedback that the poster does indeed have an official Bangle, but would also provide Google link juice, to covertly get the word out. As each Bangle has to be mailed to those that pledged, the email/forum profile would be exposed at that time. A list could be created for those of us that support/respond to posts, or the icons added while in transit. This would encourage purchasing an official device in order to get (near) immediate response. Those that want to freely tinker could have their own separate Bangle Hackers thread, but no contributions from Gordon there. Everyone should be happy, right? |
Beta Was this translation helpful? Give feedback.
-
Posted at 2019-12-06 by @fanoush
done here espruino/Espruino#1714 currently it passes but if you try to change it into |
Beta Was this translation helpful? Give feedback.
-
Posted at 2019-12-06 by @gfwilliams Thanks! I actually wrote something and forgot to post it yesterday, but this is how I feel on it: I think the vast majority of folks trying to install Espruino on F18s are just excited and want to get started sooner, and that's great! However I do need to focus my time on getting Bangle.js out to Kickstarter backers and those that preordered, so I'm not going to be able to provide masses of support. Doing full wireless firmware updates is a bit of an elongated process which requires a bootloader to be dumped off the device via some very hacky means and then binary patched. You're looking at doing 4 different firmware uploads. If any of that goes wrong (which it may) you'll brick your watch and have to open it and use an SWD programmer. I'd be pretty certain that DT No.1 won't like having bits of their watches firmware posted online and I want to stay on their good side so I'd ask that nobody else does either in case they refuse to let me buy their watches. If you want to compile your own firmware from source, open your watch, and flash via SWD as @SEBI has done then that's awesome! Although if you're thinking of doing it, bear in mind that the cost of an nRF52DK and F18 watch may be more than the cost of just buying a Bangle.js so you'll be doing it for fun rather than to get a bargain :) Please don't try and hide that it's a DIY Bangle.js if something is wrong though as it may actually make it more likely I can help to solve your problems, as has happened here. Also, if you've opened up your watch and flashed firmware via SWD you're in a great position to do some development work on Bangle.js firmware, so it'd be a massive help if you felt like wading in and suggesting some tweaks/changes :) |
Beta Was this translation helpful? Give feedback.
-
Posted at 2019-12-06 by @fanoush
Yes :-) It is a difficult topic and it is easy to overdo it and not be aware of the barriers erected. There is a proverb in czech. Example of it can be seen in this post because when you check the top countries it is really not 'all over the world' at all, it is simply a list of top richest countries of the world, and you may really miss to see this pattern if you live in one of them. The kickstarter (or prices in the shop) makes perfect sense as a funding for UK based person who can then give full time to the project, and it shows everywhere in the attention to detail, cool features like emulator done in week, tutorials - and it makes all the difference in the world for Espruino. I can hack fitness trackers for two years in the evenings after kids go to sleep but still don't have something more polished than ugly basic watch app. But on the other hand you don't want to be closed club. One must really appreciate the $35 raspbery pi (or $5 pi zero) because its reach to kids, hackers, students at that price level is really 'all over the world' - something first world person may not fully appreciate. Anyway, Espruino is currently just about right in this, I've seen couple of other projects where it went too far without people noticing. To stay on topic one such project is DroidScript for me. I first found it thanks to Espruino, checked the website, installed it and it looked nice until I noticed the limitations (you can't even open some examples because there is limit on number of opened files, BLE plugin is free in google play but once you install it you notice it doesn't work until you pay (I see they updated its description in store now so it is clear). And then you notice the price is quite high monthly payment, and the you find discussion threads where even the users in the forum frown upon people who point out that they cannot afford it (exactly in the sense of the proverb linked above). One can then just politely walk away an ignore such (very good) project, which I did. Well after wasting some time with it because you don't find such details on their .org based site which initially looks open and friendly. So please relax, the balance is OK here, just wanted to explain that by my comment above I really do not advocate moving into direction where DroidScript seems to be. And I am in fact more happy when kid from India asks me for help with hacking his $5 fitness tracker that even he can afford to possibly destroy, then answer somebody else here who can buy official boards. So yes, it is hard to find the balance :-) |
Beta Was this translation helpful? Give feedback.
-
Posted at 2019-12-06 by sebi The main reason I posted this thread on the forum was that I thought my issue could concern other people with native Bangle.js as well. |
Beta Was this translation helpful? Give feedback.
-
Posted at 2019-12-07 by Robin Sat 2019.12.07 Thank you @SEBI for your support owning the collection of official Espruino boards. Anxious for my Kickstarter pledge too.
As it appears Bangle.js support may now be provided by you, that would be your choice. I may have seemed a bit on edge regarding gratis support, but after re-reading Gordon's comment, re-educated me on the missing connectivity link. Hadn't immediately realized this and may not even be a support issue to have to consider; . . . as the COST for the devloper kit, p/s and cables plus separate shipping, along with the ~five week wait from an unvetted (and possible cheap knock-off) vendor, down time to additionally learn the DK environment, does place the starting point and (it just works) RISK beyond, just aquiring an official supported Bangle.js . Definitely not worth it for me anyway as I'll be excited to get up and running quickly after the Kickstarter excitement. Should I be able to complete my other projects this winter, I may (more likely next winter) pick up the developer kit to get a bit more learning under my belt. From post#30
So there is no 'bargain' for those considering that path. |
Beta Was this translation helpful? Give feedback.
-
Posted at 2019-12-09 by feugy Hello there, and sorry to re-open the discussion. When I set my bangle in DFU mode (hold BTN1 + BTN2 until it reboot, and release before the === line is complete), I can see "DfuTarg" bluetooth device in my bluetooth discovery app (laptop and mobile). When I select it, the watch displays "Connected", and a couple of seconds after, says "Disconnected". I am pretty annoyed, because my previous attempt to upload a new Firmware failed before completion, and the watch can not boot any more... |
Beta Was this translation helpful? Give feedback.
-
Posted at 2019-12-09 by @fanoush
What does it mean 'when I select it'? |
Beta Was this translation helpful? Give feedback.
-
Posted at 2019-12-09 by feugy Sorry if the wording wasn't right.
I don't see DfuTarg device in the list my phone displays. That is why I though I needed to pair. |
Beta Was this translation helpful? Give feedback.
-
Posted at 2019-12-09 by @fanoush Oh, OK, you previously said
So you see it on laptop but not on phone? So it may also be something with your phone or nrfToolbox, not just the watch. So maybe just try again, toggle bluetooth, put the watch near the phone, restart phone, go to more radio quiet place or maybe try nrfconnect instead, but that one is maybe harder to use. If you see DfuTarg in the list click connect and there should be DFU icon in top right corner. |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
Posted at 2019-12-09 by AkosLukacs What happens if you tap "SCAN"? nRF connect worked just fine with espruinos for me. |
Beta Was this translation helpful? Give feedback.
-
Posted at 2019-12-09 by feugy scan does not find it either. |
Beta Was this translation helpful? Give feedback.
-
Posted at 2019-12-09 by feugy Geez... I figured out as it was written in nfConnect tutorial. Thanks everyone for your support. |
Beta Was this translation helpful? Give feedback.
-
Posted at 2019-12-03 by sebi
I tried following the instructions at https://www.espruino.com/Bangle.js#firmware-updates to put my Bangle.js in BLE DFU mode.
For a fraction of second I can read on the watch screen
DFU STARTED
, but just after the main screen for the watch reappears (the screen with the default watch) and the time gets reset.Additionally, when connecting to the watch using
nRF connect
on my smartphone I get this error message when asking to perform DFU:We're sorry, but this device does not support Nordic DFU
.Did someone successfully managed to perform a BLE DFU update with his Bangle.js?
Is there a special screen for the watch that mentions that the watch entered successfully DFU mode?
Thank you for your feedback.
Beta Was this translation helpful? Give feedback.
All reactions