@mbarney its a common problem with low power, sleep circuits.
Just to be clear/restate what the issue is. When in “sleep” mode and powered off, all instrument pins (and actually all other processor pins) need to be set to output low, or input with preferably pull down.
On power-up, the pins are activated output and set high within 50mS so as to not trigger the wipe.
On power-down, its a race condition which to do first, and the global control of the power, but with a min 50mS pulse I would think you are safe to make the wiper pin low and hope that the power is turned off within 50mS.
KellerParent.cpp has ::powerUp() and ::powerDown() which is where I change the pins.
You are using ::setup() for setting the port direction, which is I think is run only once, so I would think you move the wiper setup to ::powerUp
Sounds like its coming along, and I’m fascinated that you are getting 0.5mA.
BTW with my FTDI cable setup, I just found the hardway that the Ftdi Rx pin (tx pin from processor) hadn’t been clipped off and on my stability test station; the 4.4Ah battery mysteriously suddenly drained down in about 3days and then recharged from he solar. It turns out my monitoring PC Win10 did some form of automatic update and then powered down. The FTDI cable also powered down, including this unclipped Rx pin, that then drained off the battery current. I only noticed after I had restarted the PC, and the monitoring, and then two days later was checking the results and saw the battery had mysteriously drained down and come back. So the purpose of stability monitoring is check for anomalous behaviour in a secure setting, so I needed to find out what had happened.