Yes. I’m a newbie. Sorry.
All was fine until I flashed an end-of-day ‘sleep’ method OTA. It does what it's supposed to do. Now I can’t wake it up. It comes back online once each hour, then goes immediately back to sleep. Running OS 6.1.1. How can I bring it back? This is code I flashed last night -
#include “Particle.h”
SYSTEM_MODE(AUTOMATIC);
void setup() {
// Optional: Publish a message before sleeping
Particle.publish("status", "Going to sleep", PRIVATE);
delay(1000); // Ensure message is sent
// Enter deep sleep for 3600 seconds (1 hour), or adjust as needed
System.sleep(SLEEP_MODE_DEEP, 3600);
}
void loop() {
// Empty, as device will sleep after setup
}
Do you have it disassembled? If so, the easiest way is to hold down the MODE button and tap RESET. The status LED will blink magenta (red and blue at the same time). Release MODE. It will then go through the normal connection sequence (blinking green, blinking cyan), then breathing magenta. This is safe mode and the device does not run your firmware so you can flash OTA again.
There are other methods if you want to keep it sealed, but are much more complicated.
2 Likes
Thanks for the quick response, Rick. No. I’ve not opened it up, but don’t mind doing so. Curious about your alternate suggestions, too, just in case.
Brilliant. That worked exactly as you described. Back online. Much appreciated.
I was originally thinking Tracker One. Because that has an external USB port, it's sometimes possible to issue a USB control command to go into safe mode before the device goes to sleep. However, the Monitor One does not have an exposed USB port.
The other way is by using product firmware that is flashed OTA after connecting to the cloud. However, since you only wait 1 second before sleeping, that's not enough time for the update to occur, so that can't be used.