Skip to main content

Fixing deep sleep power usage

·316 words·2 mins
Jesus Carrillo
Author
Jesus Carrillo
Cloudnative Jedi, Unix/Linux Geek, Electronics, RF and Embedded systems enthusiast.

The low-power board was burning the battery real fast
#

When I built the first prototype of the low-power LoRa board, I didn’t expect much in terms of battery life because I used breakout boards and inexpensive components from AliExpress. After confirming that the circuit worked, I sent the PCB for manufacturing, using genuine parts sourced from LCSC and Mouser. However, the battery life I anticipated was far from my initial calculations.

Battery Burn Rate

The current was too high in deep sleep:

Deep Sleep

At first, I suspected the issue might be due to using cheap LiPo batteries, so I replaced them with original Sony 18650 purchased from a reputable supplier. To my surprise, the battery was discharging too quickly; it dropped from 100% to 86% in about 48 hours. Something wasn’t right.

To investigate further, I used my Nordic Power Profiler Kit II to run some tests. I discovered that the board was consuming around 70 mA while in sleep mode, significantly more than my initial estimation of 100 microamperes.

While monitoring the V_AUX rail, I noticed it was at 3 volts during sleep mode.

Upon re-reading the XC6220 datasheet, I found a small note stating: “The voltage output of the Series A/B becomes unstable when the CE pin is left floating.”

This prompted me to double-check the CE pin, which is connected to a GPIO on the ESP32. Under the oscilloscope, I found that the pin was consistently HIGH.

The code immediately sets the pin high at MCU boot and is supposed to set it to LOW before entering sleep mode. However, I mistakenly reset the GPIO state before deep sleep and forgot to use the RTC to maintain the GPIO state while sleeping.

After making a quick fix, I observed that the power consumption during deep sleep was around 700 microamperes.

After fix

According to the IoT battery life calculator, my device should now run for approximately 100 days.

Battery Life