I am looking to put a raspberry pi to sleep using a uC to save power and to also wake it back up when the uC needs to unload processing requests. Unfortunately, I need an SBC of some sort with this capability as I need to have easy access to OS functionality and the pi looks very appealing due to cost. After some research, the pi does not appear to have power management to support this type of functionality easily.

What are my options for this? If I shut down the pi using the command line while power stays plugged in, will it still draw close to the same amount of power compared to when it is on and not doing a whole lot? Is there anything out there currently that I could connect to GPIO of my uC to cut power after shut down that is inexpensive?

What are all of the things I can do to reduce power consumption of a pi (don't yet know which model I am targetting) both physically and from the command line (I would just run a shutdown script to disable as much as possible)?

Finally, this will be in a PV array application and I expect this to be deployed for upwards of 10-15 years, so every watt counts!

EDIT: It is also important to note that I will be gaining access to the pi via terminal, so I do not need any graphics capability whatsoever.

  • please ask a specific question
    – jsotola
    Commented May 23, 2018 at 1:19

1 Answer 1


I'm in the early planning stages of a similar but MUCH smaller scale project (1 panel).

As far as hardware goes, the Pi Zero seems to be the best choice for power consumption. This site here has a table of all the Pi's power consumption, although I've measured even lower at idle on my Zero WiFi, around 45 mA.


The pi does draw less power when shut down, around 10 mA (total, not 10 mA less) on my pi 1, haven't test the zero I plan to use on my project.

I think the best solution for power management is to have an external circuit (either a microcontroller or an analog timing circuit) which turns the pi on at set intervals (however often you want to do readings/whatever) and use the gpio pins of the pi to let the microcontroller know it's still on or override the timing circuit's input to the switch.

I'm just planning on having the program (pi) pull one pin high when it starts up. Then a shutdown command that runs when all tasks are completed will cause the pin to go low, letting the program (micro) know it's safe to cut power or in the analog case, shutting off the override signal to the base of a power transistor controlling the Pi's 5v regulator.

This will mean the pi will have to boot every time you take a reading/do whatever, but since there's no support for power management in the Pi itself, this seems to be the only option. My application isn't super time critical, so the under-a-minute boot time of the pi shouldn't cause any problems. If what you're doing is more time critical you may need to look for a different development board with power management support.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.