@fanoush Hey man, I'm finally getting around to flashing the DK08, and because I am capable of ruining everything easily, Just want to verify that I follow your instructions on your github site for DK08... so I do NOT need to load ATC's bootloader first... correct? Just upload the minimal F07 espruino, modify the UICR, update the bootloader, load up the full firmware. ?
only other question.. ST7301 driver for Espruino. Does that exist anywhere?
yes, just follow the readme at https://github.com/fanoush/ds-d6/tree/master/espruino/DFU/DK08
driver is also linked there - https://gist.github.com/fanoush/f91dc52e76e8281a127cce86d8313ec9
procedure same as with f07 - minimal espruino, just upload dk08 bootloader https://github.com/fanoush/ds-d6/blob/master/espruino/DFU/DK08/DK08-bootloader.txt not the one for f07
Sorry to bug you again... I've tried all day letting it run down, rebooting to DFU, trying your FW, then jeffmer's.. they copy over, then nrfConnect tries to reload DfuTarg (seems to keep the name), it can't make a connection. Then it disappears from any BT. Could a recursive include have written over the SDK or soft device? Should I try reloading SD?
it still runs your code after flashing, you need firmware that has storage in some other location so your js code is not run at boot, strange that it does not skip it when holding button, you mentioned .boot0? you really saved it as .boot0? that would explain it :-)
I have uploaded newer build espruino_2v09.119_DK08_SDK12.zip Apart from increased MTU which is default in 2v09 I also added DK08 to if here https://github.com/espruino/Espruino/blob/914b77c18219cae28204dae36ac148608e77a620/src/jsflash.c#L903 so like with Bangle holding button should skip running .bootX files too as described in "Looks for files in Storage named .boot0, .boot1, .boot2 and .boot3 and executes them in sequence." (On Bangle.js these are not executed if BTN1 is held down, but all other devices execute them each time)
I did not test this build yet so it is a bit risky, if you brick your DK08 then it will be really the final brick you always wanted :-) Or just wait, will test it in dev board this evening and let you know it is safe.
Anyway with that build holding button at startup would skip .boot0 so makes sense to use only if you really saved it as .boot0. Try to hold button when flashing ends. Will not vibrate but may work.
As nice a brick as it is, I'll gladly wait for a little test! Can't get to it today anyway. You're ahead of me there, I was going to make a generic build, block the .boot0 code and try that just to erase the file from flash. However, since I've never done that, id have to do it with a test board myself (an opened P8b still running stock). would take me a while to get comfortable there! So, thank you for the build!
just flashed to nrf52 devboard with sdk12 bootloader and it comes up on bluetooth as DK08 and works via IDE so it looks safe to use
You did it!!! I uploaded and held the button when it went to 95%, gave it about ten seconds, and it showed up in IDE... went and checked and yes I had written the code to .boot0; deleted it and E.reboot()... came up just fine. Restored my code from Friday too.
Thank you again! I appreciate your deep knowledge here and what you've done to make these watches USABLE. If you ever want a watchface, let me know, I'll gladly make one for you.
Oh, nice it works If it would not start at all then the bootloader still have this "touch button after it vibrates to stay in DFU when put on charger from dead batery" feature, so would not be in fact bricked even if the espruino build was completely broken, forgot about that. Not all devices have this bootloader. The F07 one you probably have does not have it yet, added it later I think.
You're right, it never died, just zombied. I was able to reload your fw several times, and I even tried jeffmer's DK08, but both must load .boot0 (even with button down), but i was always able to let it run down and get back to DFU, so great failsafe there. And the F07's are running well.. my original with the weak screen turns out to be the perfect bedside clock (flashes the time for 2 seconds every 15 seconds, so the battery lasts for days) and the other is a good regular-dress accessory (I've actually turned down the brightness on this one... if I long press it goes to 100% for 10 seconds for outside reading). But I think the DK08 will be my daily now, I am really getting into the always-on concept; just in time for Bangle2!
I will continue to dig into the nrf52 series and learn what I can. I'd like to help out the espruino project eventually. I have an Adafruit Clue which I want to use as my test platform for building/tweaking espruino (have to get in and solder those SWD pads), and a C16 52840 watch that atc1441 has cautioned me is not easy to open, but I have to break a few eggs to learn.
Don't worry about formatting, just type in the text and we'll take care of making sense of it. We will auto-convert links, and if you put asterisks around words we will make them bold.
For a full reference visit the Markdown syntax.
© Espruino, powered by microcosm.
Report a problem