MicroMod Asset Tracker Battery Life

I’m trying to use the MicroMod Asset Tracker Carrier Board (DEV-17272) with the ESP32 processor (WRL-16781) and a 6aH Lithium Ion Battery (PRT-13856) along with an ultrasonic sensor to monitor a water level in a remote location. My goal is to get a measurement once every 4 hours. I’ve been able to get everything working, but the battery life is shorter than I was hoping, it lasted about a week. I wanted to ask if anyone has advise on how to improve the battery life.

The unit is programmed with Arduino. On power up, the SARA unit connects to the network, a few measurements are taken with the ultrasonic sensor, the data is uploaded to a website, then the program turns off everything I’ve been able to identify. The ESP32 is then put into a deep sleep state. I’ve also separated the jumpers to disable the power LEDs on the board. However, even in this deep sleep state I’m still measuring 18-19mA of current coming from the battery, even when the ultrasonic sensor is disconnected.

Do you have any recommendations on how to minimize power draw when this unit is in a sleep state? Or is 18-19 mA during sleep an expected power draw for this board?

Thank you for any help.

Consider using an Adafruit Power Timer board to shut the entire system down when not in use, then restart after a timed interval. That is much, much easier than learning all the intricacies of sleep/wake cycles for a complex system like this one. There are two versions:

Thanks for the suggestion! I’d like to get the sleep function working just because it would allow me to change the sample timing remotely, but if that doesn’t work out this will probably be my backup solution.

I’ve never used the Asset Tracker Carrier board, but it appears to have a 3V3_Enable Pin.
While the ESP32 is in deep sleep, you might want to pull that pin low and see if the phantom current disappears?
I’m sure there are more elegant ways to shut everything down with code, but that might be a brute force method for quick testing to determine if it’s the carrier board or not.

Thanks, I noticed that pin as well on the Asset Tracker schematics. Unfortunately, I don’t believe that pin is implemented on the ESP32 processor board (if I’m interpreting those schematics correctly). I considered soldering a jumper to that pad on the Asset Tracker to test it by manually jumping it to ground, but I’m under the impression turning off the 3.3V will probably turn off the processor as well. So unfortunately I don’t think that is a solution.

I’m holding off to see what kind of responses I see here, but I may try one of the other processors that supports that pin. I only chose the ESP32 because I had some experience experimenting with other ESP32 boards.

Thanks

1 Like

I believe the physical board timer might be the most reliable/elegant :slight_smile:

Alas: Are you sending an expresslink AT command to tell the SARA to shut its stuff down first? Something like

// 1. Put SARA-R5 into power-off mode
sara.sendCommand("AT+CPWROFF");  // Graceful shutdown to <1µA

// 2. Or use PSM mode for faster wake-up
sara.sendCommand("AT+UPSV=1");   // Enable power saving
sara.sendCommand("AT+CPSMS=1,,,\"01000011\",\"00000001\""); // Set TAU/Active time

// 3. Power down IMU via G4
digitalWrite(G4, LOW);  // Pull G4 low to disable IMU 1.8V regulator

// 4. Disable microSD if used
digitalWrite(G1, LOW);  // Pull G1 low to disable SD power

Should give you a few options to work with.

You can also try closing the VE jumper to enable the ESP32 to turn off the 3v3 rail. Be sure to test that the ESP32 RTC can wake itself back up (or you could use an external RTC). Or, like you mentioned a different processor might help if those pins are used :-/

Though If it were me I’d probably just use this and be done :wink: SparkFun Nano Power Timer - TPL5110 - SparkFun Electronics

1 Like

Thanks, I didn’t know that Sparkfun had a version of the TPL511x, and I like the switch idea much better than Adafruit’s hard-to-set pot!

2 Likes

Thanks for the feedback. From the SparkFun_u-blox_SARA-R5_Arduino_LIbrary, I’m using the .modulePowerOff() function which appears to be issuing the +CPWROFF command. The ON LED for the SARA power turns off shortly after this command, so I believe it’s going through the graceful shutdown.
I’ve tried manually setting all the output pins low as well, that didn’t seem to help. With the ESP32 processor, I don’t think you can turn off the 1.8V or the 3.3V with the way that processor board is designed. The 3.3V control doesn’t appear to be wired to a processor GPIO according to the schematics, and the 1.8V GPIO control is shared with the SARA serial pin, so I don’t think that can be controlled either. I tried manually turning off the 1.8V with a jumper, but there was no noticeable change in the battery current draw when the 1.8V turned off.

But thanks again for the response. It sounds like I’ll have to pick another processor to try and probably order a TPL5110 with it as a backup plan.

Thanks!

1 Like

I have no experience with the MicroMod Asset Tracker, but I strongly doubt that turning off subsection power supplies is a good idea.

Connecting powered ICs to unpowered ICs via I/O pins can lead to violations of manufacturer absolute maximum ratings, equipment malfunctions and in some cases even IC destruction.

1 Like