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.
The current was too high in 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.
According to the IoT battery life calculator, my device should now run for approximately 100 days.