Lowest power consumption possible

Hi,

I'm trying to put the MKR1400 into the lowest sleep state possible. Running the RTCZero sleep example, the lowest consumption appears to be 14mA. I noticed the lowest consumption issue in the MKRFOX1200 forum(Lowest consumption issue - MKRFOX1200 - Arduino Forum), where with sleep 500uA or less is achieved. I assume the same should be possible with the MKR1400. Is there any example code / guide for getting below this?

Thanks

+1 to this question.

For me, BareMinimum.ino running normally is drawing about 29mA and only dropping to 19mA when put into sleep mode ( rtc.standbyMode(); ). What is the lowest power consumption we can expect with the 1400?

Thanks

Hi all, @rwilko it's not possible, to reach the lowest consumption you have to turn off the module but it's no longer a sleep mode, the lowest consumption possible that could be reached is around 30mA, that correspond to switch in idle state the gsm module in this case the only drawback is that you have to reconect to the GMS , as i have do in the following sketch(without the rtczero example):

#include <MKRGSM.h>
#include <MQTTClient.h>

const char pin[] = "yourPin";
const char apn[] = "yourAPN";
const char login[] = "yourUsr";
const char password[] = "yourPAss";
int i = 0;
GSMClient net;
GPRS gprs;
GSM gsmAccess(true);
MQTTClient client;

unsigned long lastMillis = 0;

void setup() {
 connect();

}

void connect() {
 // connection state
 boolean connected = false;
 // After starting the modem with gsmAccess.begin()
 // attach to the GPRS network with the APN, login and password
 while (!connected) {
   if ((gsmAccess.begin(pin) == GSM_READY) &&
       (gprs.attachGPRS(apn, login, password) == GPRS_READY)) {
     connected = true;
   } else {
     delay(1000);
   }
 }
 client.begin("yourMQTTbroker", 14317, net);
 client.onMessage(messageReceived);
 while (!client.connect("YourMQTTid", "yourMQTTuser", "yourMQTTpass")) {
   delay(100);
 }
 client.subscribe("MKR1400/COMMAND/#");
}

void loop() {

 if (millis() - lastMillis > 10000) {
   connect();

   client.loop();
   // publish a message roughly every second.

   lastMillis = millis();
   i++;
   String s = "{Position: position test:" + String(i) + " }";
   client.publish("MKR1400/POSITION/", s);
   Serial.print(i);
   client.disconnect();
   gsmAccess.shutdown();
 }
}

void messageReceived(String &topic, String &payload) {
 Serial.println("incoming: " + topic + " - " + payload);
}