LiFePO4wered-Pi
LiFePO4wered-Pi copied to clipboard
RTC reset and unit not powering on
I've recently deployed 12 units and have begun to notice some odd behaviour.
The units are given a schedule to wake and shut down in order to capture images at certain times. The unit relies on the LiFePO4wered to wake on time. It works really well... except when it doesn't.
While investigating why a unit had not woken when it was meant to, after powering on with the button, I found in the syslog that the LiFePO4wered had restored the system time to 1/1/1970 (when I powered on with the button). Very shortly after, the system got the real time from the internet. The device continued to work normally after this manual start. I checked that it set the RTC on shutdown.
So following a normal software triggered shutdown, the unit just didn't seem to wake up. Perhaps because it had a 0 written to the RTC at shutdown? Or possibly the unit did wake at the designated time, but something caused it to shutdown before the RPI could write anything to the syslog?
I've confirmed this behaviour on at least two units.
Another issue I've encountered is that occasionally a unit just won't wake up. The button won't even wake it. The charge light is on if powered, but I can't wake the unit without going through the battery removal procedure.
I've wondered if both issues could be caused by the same underlying problem? I've seen that other issues have encountered register corruption. That might explain why the RTC_TIME could go to 0. But what if VBAT_MIN was corrupted to a high value? Would that prevent the unit powering on at all? It's a 2 byte register and with the scaling, an overflowed -1 value would correspond to 3.99V.
The units are the latest revision as of Feb 2024 (I think). They were ordered via Tindie. They have the USB-C connector. The units have no battery holder. Two LiFePO4 18650 batteries in parallel are connected to the board via a short lead.
It might be possible that a significant current is drawn for a short period as it boots. VOUT is powering a wifi dongle. I suppose there is a chance that the voltage might drop below VBAT_SHDN or VBAT_MIN. But I don't think that would be sufficient to explain these issues.