Cannot load Espruino firmware

I am trying to update my Ruuvi tag with 2v06.49 from the website but it doesn’t load properly.

After uploading the firmware, the red light is solid and green flashes every second. I can’t do anything until I put it back into boot mode and put back the Ruuvi firmware or eddystone (neither of which I want to use).

I have tried some random previous Espruino versions with the same result.

Any ideas?

Hello,

Last version I’ve personally tried is v1.99, probably something has broken in updates. Thanks for reporting, I’ll update the lab.ruuvi.com/dfu page to point to v1.99.

Thanks. I tried a 1.99 version with no success but found a 1.93 which is working so I will stick with that

1 Like

I’ve tried 2v06 lately and it worked on one of my ruuvitags. We still need Completely erasing flash without breaking dfu stuff. One of my ruuvitags cannot run any version of espruino because of this issue. Can you look at it @otso? Also, maybe your case is similiar to this issue.

Thanks for the update. Maybe saving the mode of tag to flash is the problem here, then. Do you have a Ruuvi DevKit available @NullMember so you can test if it helps if I make a binary with flash purge?

Here’s a pull request which erases FDS storage on RuuviFW 2.5.9 before entering bootloader on long press: https://github.com/ruuvi/ruuvitag_fw/pull/162 . @NullMember Can you try if your RuuviTag which doesn’t run Espruino is fixed with it?

You’ll need to first upload the dfu.zip in the pull request comment, then hold “B” for 5 seconds. The RuuviTag will stop BLE and reading sensors, and it will erase the flash and restart. As the B is pressed down at boot it will immediately enter bootloader and you should be able to upload Espruino on it.

I tried it on my end and it worked and I could restore the official FW 2.5.9 afterwards, but if you brick your RuuviTag while trying it out we’ll ship you a devkit so you can restore your RuuviTag afterwards.

@otso Can you explain why you suspect Flash Data Storage needs to be purged in order to get Espruino to be flashed. Thanks

Both Espruino and RuuviTag use Nordic’s Flash Data Storage as a backend to store data for application. Something in the way RuuviTag stores data seems to prevent some versions of Espruino from booting.

For example I wasn’t able to run Espruino 2.06 on my RuuviTag before purge, and after purge I can. Hardware is the same, software is the same, only difference is the stored data in tag. DFU updates don’t automatically erase the user stored data.

Thank you.