Photon flashed code once, cannot replace it with any new code

@anthonywebb,

just wondering if by any chance you compiled code locally using the source code and changed the system firmware? Or all you used was Web IDE?

@mdma if you have a second later in the morning…

I have only ever flashed code from the web ide, and from the mac desktop client (particle dev) both of those compile in the cloud…

1 Like

Could you please email me the binary that was produced in the web IDE and I will try to reproduce the problem.

@mdma one other note. I have 3 photons, 2 work perfectly, it is just one of the photons that seems to have this problem. One other symptom that might shed some more light is that when I try to enter new wifi creds via the mobile app I see the following error (the other 2 photons can go through the wifi setup without a hitch):

On the photon that isn’t working, please apply this update - https://github.com/spark/firmware/releases/tag/0.4.2.

That should get you out of the problem.

Cheers,
mat.

1 Like

@mdma you saved the day, after applying the update the photon is working great!

3 Likes

@mdma Same problem over here, but the 0.4.2 update did NOT fix the problem…

1 Like

hi @steelydev Could you start a new thread, and provide as much detail as possible. I don’t advise updating to 0.4.2 beta until we’ve identified that it will help. The code not working could be for other reasons too.

Hi was a new thread ever instantiated? I too was (am) stuck with a Photon that behaved like it was being flashed, both OTA and by USB, but would then restart into the exact same stock firmware it’s always had (blue/cyan RGB pulsing, D7 LED blinking on and off every few seconds).

I applied the above 0.4.2 update which has had no effect except that the D7 LED is now permanently off, and the RGB breathes magenta.

Breathing magenta means safe mode - it means there’s no valid user firmware to run. That’s good. You can now try flashing your code.

As a hint, the code for small applications is just a few kilobytes in size. If it’s much larger, around 70-80K or more then you most likely have a binary for the Core, which won’t work on a photon.

Ok, I’ll give it a shot tomorrow!

Ok, I have reflashed both parts of the latest 0.4.2 firmware release to the Photon as per your suggestion in another thread. I still cannot flash locally compiled code by USB or cloud to the Photon, though.

The .bin's being generated by executing make inside ../firmware/main are indeed between 70Kb - 80Kb, even for an exceedingly trivial program that just sets the RGB to be one colour.

So I'm given to understand here that local compilation is targeting a Core and not a Photon, which is why it's being rejected (?)

How should I proceed to compile locally for a Photon then?

OH!!! I'll just answer my own question here:

By default, the Core is the target platform. To build for the Photon, run

make PLATFORM=photon

All told, the solution for me was to run the "Update the System Firmware" steps found here. As soon as I did that, the Photon rebooted and the code that previously was flashed but not running, immediately started running.

Thanks for pointing me in the right direction!

1 Like