Hi, First time poster here so apologies in advance. I've read several posts about this issue but none have come close to solving this. I'm trying to run the MKR Zero from the attached 3.7v 2000mAh 7.4Wh lipo battery. The contacts from the JST PH battery connecter on the Zero board read 3.68v with a mutimeter and polarity is correct yet the Data logging program won't run. Yet I can double press the RST button and get the orange programming light on.
I think I may have spotted what's happening. I didn't realise it logs "silently" i.e. without any lights etc so when on battery the only way you can tell it's logging is to take the sd card out and read it. My bad.
If you like, you can add code to the sketch to blink the built-in LED (LED_BUILTIN) as an indicator of logging activity.
As @kmin pointed out, doing that will increase the power consumption, meaning the device will be able to run for less time between charges. Whether or not that is significant will depend on your application. You can mitigate this by designing your code so that the LED is only on for the minimum amount of time needed for it to effectively serve as an indicator.
I will allow myself to ask a question in this same topic, since I have a similar task. Of course, I want my data logger to consume as little battery power as possible. But at the moment of hardware initialization, it is connected to the terminal via USB so that I can see service messages and understand that the logger is ready for work. However, if in sleep mode the board can consume only a couple of milliamps, then as soon as I call Serial.begin() once, the consumption increases by 10(!) milliamps and there is no way to get rid of it, the Serial.end() command does not turn off the USB subsystem. Is there no solution to this problem other than to remove the call to Serial.begin()?