Apologies if this is adequately addressed elsewhere in the Forum, but I can’t find a solution/answer that matches what I’m expecting. I’ve read many threads dealing with higher than expected sleep currents with earlier versions of Device OS (pre-1.5), but I don’t see much traffic now on the topic.
Using the below code, targeting deviceOS 3.0.0 I measure 610uA in HIBERNATE. This is roughly 6x what I expected based on the documentation for the Boron LTE.
Current is measured as a 17mV (as measured with Fluke 115 multimeter in mV mode) drop across a 27 Ohm high-side resistor (measured to be 27.9 Ohms) to Li+, with my power supply providing 4V.
Am I leaving out something critical in my sleep setup?
When I pull EN low, current drops to 86uA, leading me to believe current is being consumed by things hanging off the VSYS or 3V3 bus, and not the BQ24195L boost, but I’m unable to find what else I can shut off programmatically.
Any thoughts would be appreciated.
SYSTEM_MODE(SEMI_AUTOMATIC);
SystemSleepConfiguration config;
void setup() {
pinMode(D2, INPUT); //270k pullup on D2
config.mode(SystemSleepMode::HIBERNATE)
.gpio(D2, FALLING);
}
void loop() {
Particle.disconnect();
Ethernet.off();
BLE.off();
NFC.off();
Cellular.off();
//make sure Boron is alive
pinMode(D7, OUTPUT);
digitalWrite(D7, HIGH);
delay(500);
digitalWrite(D7, LOW);
delay(500);
digitalWrite(D7, HIGH);
delay(500);
digitalWrite(D7, LOW);
delay(500);
pinMode(D7, INPUT); //no leakage current out of D7
System.sleep(config);
}