Photon in RED SOS hard fault mode, unable to put into safe mode


Photon has been working fine for months, suddenly stopped working. Goes into RED SOS Hard fault mode. Here is what I have tried so far.

ENTERING SAFE MODE - Tried entering safe mode, holding down both buttons, releasing on magenta. Instead of breathing purple, it simply breathes white for a bit and then goes back to RED SOS.

UPDATING FIRMWARE - I am able to enter DFU mode, so I tried $ particle update. It said the update was successful but the problem was not fixed.

FACTORY RESET - Tried getting to the factory reset option, but the LED flashing cycle never gets past yellow flash. As in, I hold down both buttons, release reset, it flashes magenta, then flashes yellow, then… keeps flashing yellow.

DOWNGRADING FIRMWARE - Downloaded an old version of the firmware, reverse flashed it (part 2 first, then part 1). Terminal said it was successful, however it doesn’t fix the problem.

Any ideas? Here is a link to the SOS.bin file (dfu-util -d 2b04:d006 -a 0 -s 0x8000000:0x100000 -U SOS.bin)


EDIT: video link in case anyone is curious what is happening

I’m hoping you mean “holding SETUP, pressing RESET”, otherwise it’s just reset…

Hmm… strange… I could’ve sworn that this part of the docs mentioned that… ehm… there is no factory reset on the Photon :wink:

So, current system firmware doesn’t work, old system firmware doesn’t work. Perhaps it’s thus not the system firmware, but… the user firmware. Could you try updating the CLI to the latest version and then doing particle update once more. Once that’s done, put it in DFU once more and give particle flash --usb tinker a try. See if that works, and let us know?

Yes, sorry for wording. I mean holding both buttons, releasing reset, and then releasing setup.

Factory reset is when you wait through all the flash modes until it rapidly flashes white, and then you release setup. Perhaps no longer an option on newer firmware, was just remembering from doing it when I first got it.

I have updated to the current version and then flashed tinker. The terminal said that the flash was successful, but the problem persists.

Thanks for your help!

Have you double checked cables/power supply to make sure they haven’t gone bad?

I’ve used 2 different cords on three different USB ports, as well as connected to a 5V power supply. Doesn’t seem to be the issue.

Nope, there never was Factory Reset on the Photon - what you describe is the Factory Reset of the Core.

Ah, guess I was wrong.

Too bad though, factory rest would help a lot in this case, since the magical safe mode isn’t working…

The problem why FR is not available on the Photon is the absence of external flash to hold the factory reset image.

1 Like

Thanks for the dump file - I’ll load that up on a Photon on Monday and see if it’s anything to do with the flash contents. I’ll let you know. :smile:

I will try flashing your image on one of my Photons and see if I can reproduce the crash. It would help me a lot to find the cause if you were able to send me your user application code as a private message.

Appreciate it. Let me know if you need the user application code.

My only other thought would be we might have shorted something while working on the hardware, in which case it might just be permanently bricked. We were pretty careful though…

here’s a video link to what the boot up sequence looks like, and some basic trouble shooting I did.

Was this ever resolved? I am experiencing a strikingly similar issue. Particle was working, happily logging temperatures, blinking LEDs, etc. Now it just blinks red SOS followed by 1 red blink, then blinks white for a half second, then back to red SOS+1. If I try to put into safe mode, when I release setup during magenta blink, it immediately flashes white for 1/2 second, then goes into red SOS+1

npm update -g particle-cli
put in dfu mode
particle update
System firmware update successfully completed!
Your device should now restart automatically.
You may need to re-flash your application to the device.
Near the end of update, white flash followed by SOS+1.
put back in dfu mode
particle flash --usb tinker
Download done.
File downloaded successfully
white flash followed by red SOS+1

USB cable seems to be fine, I used it to update another photon with no problem.
Power supply seems to be fine, the other photon seems happy enough with it, anyway.

Is there a next step?


I was finally working with my Photon again this weekend. It was running great and now I have the same issue as described. I tried flashing tinker via USB and it says it completed successfully but I still have the same sos issue.

Are A0 and A1 5 volt tolerant on the Photon?

Should be in here:

I looked at this table but only got confused… are all analog inputs only 3.3 volt tolerant?


The Photon has ton of capability in a small footprint, with analog, digital and communication interfaces.
Peripheral Type	Qty	Input(I) / Output(O)	FT[1] / 3V3[2]
Digital	18	I/O	FT/3V3
Analog (ADC)	8	I	3V3
Analog (DAC)	2	O	3V3
SPI	2	I/O	3V3
I2S	1	I/O	3V3
I2C	1	I/O	FT
USB	1	I/O	3V3
PWM	93	O	3V3
[1] FT = 5.0V tolerant pins. All pins except A3 and DAC are 5V tolerant (when not in analog mode). If used as a 5V input the pull-up/pull-down resistor must be disabled.
[2] 3V3 = 3.3V max pins.
[3] PWM is available on D0, D1, D2, D3, A4, A5, WKP, RX, TX with a caveat: PWM timer peripheral is duplicated on two pins (A5/D2) and (A4/D3) for 7 total independent PWM outputs. For example: PWM may be used on A5 while D2 is used as a GPIO, or D2 as a PWM while A5 is used as an analog input. However A5 and D2 cannot be used as independently controlled PWM outputs at the same time.

analog mode is only activated via analogRead() (or undocumented pinMode(pin, AN_INPUT)), so yes all pins (including A-pins, but not A3 and DAC/A6) are 5V tolerant.
But don’t use internal pull-resistors then.

That is how I read it originally, but I think that is wrong. Because in the table it lists all analog adc as 3.3 volt. And on the FT foot note it says 5V tolerant (when not in analog mode).

So if you use any A pin as analog adc then it is only 3.3 volt tolerant.

Can you confirm?

Sounds about right, hence the “when not used in analog mode”.

Yup! As @Moors7 said.
Pins labled with A can pose as analog pins (when used in analog mode) or digital pins when used in digital mode and then they ARE definetly 5V tolerant.
Otherwise you would lose all your PWM capable D pins too, since PWM is only 3.3V - but as said only when in that mode.

So that interpretation is NOT wrong :wink: