Skip to content
/ Sleeper Public

The Raspberry Pi doesn't have a proper "deep" sleep mode, so this is a short program for an AVR microprocessor to switch the Pi power supply on and off.

License

Notifications You must be signed in to change notification settings

WJWH/Sleeper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 

Repository files navigation

Sleeper

The Raspberry Pi doesn't have a proper "deep" sleep mode, so this is a short program for an AVR microprocessor to switch the Pi power supply on and off. Even a Raspberry Pi that is switched off still consumes quite a bit of power, which makes it rather unsuitable for long term battery powered applications. Sometimes it is fine to use a low power microprocessor instead, but sometimes you need a full Linux stack for whatever reason. The solution is to use a low power microprocessor to control the power supply, which can then switch the Pi on for the short durations when it's needed.

In more detail, the Raspberry Pi has a pin go high for its UART interface when it turns on. When it turns off, this pin goes low again. This AVR program waits for that pin to go low and then sets another AVR pin to go low as well. In my implementation, this pin is connected to the power supply for the RPi and causes it to disable the power supply of he Raspberry Pi. The AVR then sleeps for a predetermined time before switching the power supply back on. The Raspberry Pi it set to run a script on startup that shuts it down again after it ends. In this way, the UART pin will eventually go down, causing the AVR to switch the power supply off for a while and so the cycle repeats.

About

The Raspberry Pi doesn't have a proper "deep" sleep mode, so this is a short program for an AVR microprocessor to switch the Pi power supply on and off.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages