Sleep with Network Standby on Electron


I’m pretty sure it’s been automated in the latest firmware versions but, I’m not 100% certain.

I think this is the most updated info on how to best use the current sleep modes if you have not seen it already.


Thanks @RWB! Particle team, please feel free to comment. Maybe @Dave, @suda, @jeiden or @Bdub would have an idea?

@rickkas7 may also Understand 0.8.0 rc4 updates too.


It is not necessary or desirable to turn the modem off like that. The sleep calls will take care of turning the modem off if necessary now.


Hi @rickkas7. So, what should @RWB code look like now? Please provide example code for @RWB above case.

I have a similar project to the of @RWB. For my project, I need to measure an analogue voltage every minute and report to the Particle cloud. I’ve tried idle and deep sleep… Plan to try stop mode with Sleep Network Standby next. Whatever the solution is, I need to find something that has low power usage and low cellular data.

Thanks for your help.


In that code, if the SoC is low, just call:

System.sleep(SLEEP_MODE_DEEP, 3600); 

Turning the cellular on, then off, is only necessary when the Electron is powered up for the first time, otherwise the modem won’t go fully into deep sleep. When you wake up from sleep, you can go back to sleep without turning the modem on and off, saving even more power.

You could use the reset reason or a retained variable to make the logic more robust and do the modem on/off technique, so there would be three possible cases. However, in practice you’d only ever exercise that case when you first turn on an Electron with a discharged battery, which doesn’t seem very common.


Thanks again @rickkas7.

I got my stop mode (pin + time) with Sleep Network Standby working tonight. I’ll take my Electron hardware into work and measure the mA and mAh.

Aside question: for E-Series LTE (and yet to be released Boron LTE) what power saving should users anticipate?


I am setting up an electron to transmit sensor data to ubidots every 10 minutes and sleep in between transmissions. I am using network standby.
I am battling to get the units to update firmware.
I have set the device to particle.publish every 30 min so there is some connection to the particle cloud.
Should I use system mode automatic , semi automatic, or manual?
Should I use particle.connect after waking ?
Do I need to introduce a delay after particle connect to give the cloud time to send the firmware update ?