Photon stay in OTA mode

I have a finish product here that is using a particle photon. I want to send it to my customer so I want to flash my lastest firmware version.

Now the photon always reboot and stay in OTA mode (blinking magenta).

If I flash it again with command particle flash DEVICE_NAME c:\myprojectfolder I see that the photon reboot, quickly flash green, then cyan and goes back in OTA mode forever.

What do I have to look to understand what is happening and how can I prevent this from appening after my product is delivered to my customer?


I found it.

I had to reflash tinker to figure out that I was running on 0.5.1 firmware.

I upgraded to 0.5.3 with the files available here:

And it’s working now.

Why is the flash command didnt do that automatically (upgrading from 0.5.1 to 0.5.3)?

If you look at, you should see some system update related events posted. The Photon is actually upgrading itself (aka the system firmware) but you need to give it some time :slight_smile:

I have 2 photon that I left all night long in this state and nothing happened…

When I did it manually, it took like 10 seconds.

Where they just sitting there breathing magenta? Weird. I would expect the :cloud: to handle the updating of the system firmware!

I also though that the cloud would handle the update but nothing happened… and same issues on 2 devices and potentially the third one that I didn’t had the chance to test.
I’ll try with the third one and monitor log in the console

Same issue again with multiple devices.
The devices are at 0.5.3
If I do a particle compile photon c:\myapp and then flash it to my device in dfu mode or in OTA mode,
My device reboot and stay in OTA mode without executing my code at all.
If I do instead particle compile photon --target 0.5.3 c:\myapp and flash my devices everything goes back to normal.

I upgraded the cli from version 1.16 to 1.18 but still the same issue.

My questions:
Is there a way to know with the CLI in which version we are compiling when we do particle compile photon cmd? Documentation says latest version but how do we know when the latest version is updated and what is exatly the latest version?

Why is the cloud not taking care of the upgrade to the newest version (0.6.0 ???) and stays in OTA mode instead.

If I update manually my device with the commands:
particle flash --usb system-part1-0.6.0-photon.bin and
particle flash --usb system-part2-0.6.0-photon.bin

Everything is back to normal and working. So it really look like the cloud is not upgrading my devices when needed, but I dont know why…

You can use

particle update

instead of flashing the individual binaries.

If you look in the Web IDE or the Firmware Update Thread you can find out what’s the default version.
Or you just do

particle binary inspect

to find out what system it requires.

How long did your device stay in Safe/Update Mode?
Safe Mode Healer will take a while and needs to restart the device four times (providing it can connect to the cloud).

great. Thank you I’ll try this!