[SOLVED] Photon ran low on battery, now stuck in SOS

So I am running a photon on two aaa batteries, using a 5v step up board from sparkfun. I had it programmed and tested extensively on usb power. I then tested a bit on the aaa batteries and was happy, project was done, moving on.

I wanted to see how long it would last so left it running for several hours then came back and it was just showing the blue status led on D7 faintly and that was it. I thought no big deal, swapped the batteries for fresh ones and it will no longer boot to my code.

It seems to be stuck in the SOS mode which, from what I gather, indicates that the code on the device is borked and needs to be reprogrammed. However I cannot get it to connect to the cloud and listen, when programming before I entered safemode several times and am familar with how to do it but when I release the setup button while it is flashing magenta it just goes back to booting, I can wait for it to flash yellow and that will stick but not magenta.

I tried reflashing the firmware using the dfu utility but that didn’t make a difference. I am unsure what else I can do, I feel like maybe I need to reset the whole device but I understand that factory reset was removed from the photon.


A video of the device a) booting to SOS, b) booting to dfu flash mode, c) trying to get it into safe mode but it ignoring me :

Did you try flashing something like Tinker or a simple blink sketch using DFU? Just want to rule out user firmware by flashing one of those. To do it, put the device in DFU mode (blinking yellow) and then run particle flash --usb tinker from the command line.

If that doesn’t work, you can try re-flashing the system parts. To do that, go to https://github.com/spark/firmware/releases/tag/v0.4.6.1 and download the two system parts with the filenames that end in -photon.bin (the files are listed at the bottom of the page in the Downloads section). Once you have those, follow the instructions on that same page for “The local DFU-UTIL method”.

Once you’ve flashed those system parts, flash Tinker over again using particle flash --usb tinker. If all goes well and you get to breathing cyan, run particle list to see a list of your devices and make sure your device shows as online and has the Tinker functions (digitalwrite, digitalread, etc) exposed.

The bursts during the rapid flashing cyan, are they red or orange?

They might have to do with corrupted keys.
Have a try with these suggestions too
[SOLVED]Photon fast blinking cyan (with a random red burst)
Photon setup flashing cyan with a "quick red burst" (now orange burst) [Solved]

List item

Sorry it has taken me so long to get back here, I have a newborn baby so he has been occupying most of my project time.

The answer ended up being corrupt public keys from the thread ScruffR link. Thanks, solution was:

wget https://s3.amazonaws.com/spark-website/cloud_public.der

dfu-util -d 2b04:d006 -a 1 -s 2082 -D cloud_public.der

I do have a further question though, how likely am I to experience this again. Is there a way to put a photon in “read only” in regards to the rom?

The cause for your problem was most likely an issue in the firmware which has been noted and will be dealt with.

So for the moment you can only try to avoid draining your battery