I started testing 1.2.1 today and saw an increase in sleep current. I whipped up the following code and tested it on two brand new Borons. One running 1.1.0 and one running 1.2.1.
I’m using 1.3.0 and had to use the code below to get into Sleep Stop Mode successfully. The delays were required, just calling system.sleep was not enough to get into sleep mode with 1mA sleep current and .7mA deep sleep current.
bool HaveWeTurnedOffModemYet = 0;
if (HaveWeTurnedOffModemYet == 0) {disconnectFromParticle();}
//disconnectFromParticle(); / This by it's self works for putting Boron into System.sleep mode. 1mA Sleep.
System.sleep({}, {}, 60); // Put the device into stop mode with wakeup using RISING edge interrupt on D1 pin or wakeup after 60 seconds whichever comes first
bool disconnectFromParticle()
{
Particle.disconnect();
waitFor(notConnected, 15000);
Cellular.off();
delay(2000);
return true;
HaveWeTurnedOffModemYet = 1;
}
bool notConnected() {
return !Particle.connected();
}
Just a heads up that we had a short internal conversation about this topic… @avtolstoy will be leading an effort to make some improvements to Gen 3 sleep modes in the next release.
That’s great to hear. Any tentative ship date of this new firmware? I’m testing an RTC to toggle the pin to pull it out of deep sleep and am about to cut the trace and jumper to EN to shut it down completely as that brings it from 770 uA to 77 uA. We’ll be doing a bulk build of these boards soon and if I can get away with not doing it via EN, I’d prefer that.
powerModemOff() doesn't compile for me on WebIDE, as you suspected.
I'm not seeing any difference in Sleep Current on 1.5.0-rc2 verses previous.
Still ~ 2.7 mW ( 707µA @ 3.77V Li-Po , and 660 µA @ 4.10V Li-Po) for Hibernate in Manual Mode, never requesting to turn on the Modem.