Boron - Sleep 2.0 Examples and Power Savings

@no1089, I’m seeing very different results using the code you provided.
I’m testing with a µCurrent GOLD inline with a Li-Po @ 4.03V resting, Boron LTE on 1.5.1.
The Sleep Current actually ramps up to 10 mA for me with your code.

As a sanity and equipment check, I reflashed the basic code and confirmed 660 µA in Hibernate Sleep.

SYSTEM_MODE(MANUAL);
SYSTEM_THREAD(ENABLED);

  inline void softDelay(uint32_t t) {
  for (uint32_t ms = millis(); millis() - ms < t; Particle.process());  //  safer than a delay()
  }

 SystemSleepConfiguration config;

void setup() {
  config.mode(SystemSleepMode::HIBERNATE).gpio(D0, RISING).gpio(WKP, RISING); 
}

void loop() {
  Cellular.off();  // just for fun
  softDelay(15000);   
  System.sleep(config);  
}

I noticed from your screenshot that you are using a 10A range.
Do you have a lower option ?

2 Likes

I concur with rftop. That code doesn’t provide 130uA.

I was under the impression that SystemSleepMode::HIBERNATE was the lower power sleep states instead of STOP which you have used.

2 Likes

Ah, yes, I just tested this on my LTE unit - 10mA. :frowning:
With the 2G/3G unit, I have consistently been able to get sub 1mA readings with 600uA last night. The correct draw for STOP, don’t ask me how I got 130uA (I’ve seen this multiple times) yesterday - I messed with the PMIC quite a bit and the Boron kept trying to charge to unconnected battery :man_facepalming:

On the Mooshimeter 10A is the only range - I’ll try with a 1ohm shunt today.
@jack4566 - You are correct, I should be using HIBERNATE.

I’ll have a chat with engineering to see what is going on.

3 Likes

No luck on this yet? @no1089

None yet, but sleep is being refined by engineering and we’ll soon have a much more robust implementation - until that is released, the code above is the best I have.