Another Sleep-Wake thread

userHead Zauberkugel 2019-01-26 02:43:35 6197 Views5 Replies
I'm evaluating a Lattepanda 4G/64 model for a project involving solar-powered remote devices. They need to sleep through the night to conserve battery. I tested power consumption using Windows' built in "When plugged in, PC goes to sleep" function.

Currents are measured at 13.6V. There is a small step-down transformer down to 5V after the current sensor. Wifi is on.

Current Power
Booting Up 450 mA 6.1 W
Windows idle 220 mA 3.0 W
Sleeping 130 mA 1.7 W
Hibernating 40 mA 0.5 W
Power off 0.0 mA 0.0 W (this shows the idle transformer isn't contributing)

In Winter I have about 15 hours with no meaningful solar power. I'll need 3,300 mAh of battery capacity to make it through the night while running; 2,000 mAh while sleeping; And 600 mAh while hibernating. (plus a bit more for operations, redundancy, etc). I can live with that. But if we can reduce this further, it would be great.

Interestingly, during both sleep and hibernation, LattePanda's Arduino co-processor continues to run. The pins continue to put out voltages. This probably explains the remaining 0.5W draw. So we can't rely even on hibernation to turn external devices off for us. We must turn them off in code. I can't see any way to send Arduino to sleep, short of interrupting the main power supply.

Sleeping and saving power is all good and well. But it's only going to be useful, if we can figure out how to wake up. My devices are going to be deployed in remote areas, where it's completely impractical to walk up to it and push a button. So there needs to be some timer-dependent functionality to do it. Windows is completely passed out during hibernation. I think we will need BIOS functionality to bring LattePanda back from hibernation. I spent a long time looking for that setting and cannot see it. Does that exist in 4G/64? Will the Alpha have it? Can BIOS be upgraded to support it?

Short of an answer, I will probably need to use an external system to interrupt LattePanda's main power. I'm thinking a Fire Beetle with an RTC or light sensor, and MOSFET should do the trick. But this increases the System's complexity. It would be easier and more robust (fewer failure points), if we could have a BIOS function that simply powers up LattePanda at a particular time, like many desktop PCs have. I think it would make LattePanda more useful and easier to use for many embedded / internet of things application if it could do that. What do you all think?