Is it possible to automatically have some skeleton firmware (i.e. tinker, hello world etc) be loaded when a Particle Electron hits a hard fault (SOS) after a bad firmware update OTA? This way, the Particle would detect that it’s in an SOS state, and then run up this firmware to allow it to connect to the cell, waiting dormant and ready for new (working) firmware?
We have many Electrons located nationally in the UK and we’ve had a few occasions where an OTA firmware update has caused an Electron to enter SOS mode. Currently, an Engineer has to drive to the location and enter the device into safe mode manually, fix firmware and then DFU update.
I guess I’m looking for a way to do the following steps remotely:
Out of heap memory (8 blinks between 2 SOS patterns)
If your Electron crashes repeatedly with an SOS code, first try recovering with Safe Mode and flashing Tinker with the CLI to see if it was something recently added in your user application.
particle flash tinker
If it’s not possible to enter Safe Mode, your system firmware may be corrupted. Try putting your Electron into DFU Mode and flashing the system firmware locally over USB (and optionally flash the Tinker application) with:
particle flash --usb tinker
Don’t forget that the community forum is always there to help.
I think this would be a really useful feature if not already present. Thanks!