MKR Zero uA sleep current


I am looking at what is achievable in terms of sleep current with a MKR Zero. On the MKRWAN1310 forum it looks like ~ 100uA is achievable. As posted there I can only get to ~ 600uA. I am re-posting my code below.

I am using a MKR Zero, powered via the J2 pin with a 3.7 Lipo batt. I measure the current with a CurrentRanger.

I started from the RTC example, tried both the rtc.standbyMode() and LowPower.deepSleep() calls : same result.

Any help appreciated. Thx.


/* Create an rtc object */
RTCZero rtc;

/* Change these values to set the current initial time */
const byte seconds = 0;
const byte minutes = 00;
const byte hours = 17;

/* Change these values to set the current initial date */
const byte day = 24;
const byte month = 11;
const byte year = 20;

void setup()
   // Set digital pins to input  to save on current drain
 for (int i=0; i < 15; i++) 
   pinMode(i, INPUT_PULLUP);
  digitalWrite(LED_BUILTIN, LOW);


  rtc.setTime(hours, minutes, seconds);
  rtc.setDate(day, month, year);

  rtc.setAlarmTime(17, 00, 20);


  // detach USB so chip is asleep

void loop()
  //rtc.standbyMode();    // Sleep until next alarm match

void alarmMatch()
  digitalWrite(LED_BUILTIN, HIGH);

Resolved: see this thread. , MKR Zero sleep with ~ 65uA


FYI, the link does not work.

I would expect you could achieve much lower current with a MKR Zero than 65uA. To do so however would require that you bypass the power supply on the zero. Arduino power supplies are not particularly power efficient.

Thx for the heads-up updated link : How can I achieve the 104µA power consumption? - #25 by LDBM

some of the images were lost since the forum changed.

I am not ready to burn things on the board :sweat_smile: as what to knock off may change depending on the type of board and I am not super dialed on how to do this cleanly.