Witty Pi 4 L3V7 on a Raspberry Pi Zero W. Firmware ID 0x37, revision 0x07, daemon v4.23. Everything is default; the only register we changed is the low-voltage threshold (reg 19).
After the board performs its own low-voltage-triggered shutdown, if the device is then left in standby (on battery) for several hours, the microcontroller appears to hang: the white standby LED stops blinking and the device will not power on again — neither on an RTC startup alarm nor when USB 5V is reconnected. The only way to recover is to physically disconnect and reconnect the battery.
What we reproduced from our logs:
- It is not a depleted battery. In one run we set the low-voltage threshold as high as 4.2 V (reg 19 = 42) with a nearly-full cell. On USB removal the board logged: Shutting down system because input voltge is too low: Vin=4.18V, Vlow=4.2V. After ~7 h of standby (your spec is ~0.3 mA, so the cell stayed well above 4 V) the board would not power on via USB; only a battery disconnect recovered it. No boot-loop occurred. It happens with power thresholds as well.
- Only the low-voltage-triggered shutdown causes it. Shutdowns via a scheduled shutdown (ALARM2) or via a Pi-initiated shutdown -h now do not cause the hang, even after 9 h+ of standby — the board wakes normally (both the RTC startup alarm and USB-5V wake work).
- A low-voltage shutdown followed by a short standby recovers fine (~10 min in our tests). The hang only develops over an extended standby.
Questions:
- Can you reproduce / confirm this behaviour?
- Would enabling the watchdog reset (WDE), or another firmware fix be appropriate?
Thanks.
If the privous shutdown was due to low-voltage, the firmware does not allow the RTC alam to wake Raspberry Pi up:
https://github.com/uugear/Witty-Pi-4/blob/main/Firmware/WittyPi4_L3V7/WittyPi4_L3V7.ino#L864-L867
In your case, the alarm could have been ignored since Vin=4.18V, Vlow=4.2V
However this doesn't explain why the white LED stopped blinking, and why connecting USB 5V did not boot up Raspberry Pi. The situation you described does indeed look like the MCU is stuck. We are trying to reproduce it in the lab, but so far it does not happen yet.
When this problem occurs, you may measure the voltage on 3V3, I-SCL, I-SDA pin (against the GND pin) in P5. Such kind of information will be helpful.
