1. Description
To boot and shutdown my pi I have been using a button shorting GPIO 3
an GND
. However after shutting down the pi, the fan shim and HDD keep on running. To solve this I've edited the bootloader configuration to contain WAKE_ON_GPIO=0
and POWER_OFF_ON_HALT=1
. This of course caused my pi to stop booting when pressing the button. A possible solution to boot the pi is to short GLOBAL_EN
and GND
but it's not possible to safely shutdown this way.
What I would like to have, is a (simple) solution safely shutting down and booting the pi by pressing only one button. And while the pi is shutdown not to output any power to the usb ports, GPIO pins and Ethernet port. Does anyone know one?
Some clarification: The thing I'm trying to solve is being able to boot the pi when in low power mode without pulling the plug. With a simple solution I mean the simplest solution possible. I was hoping there to be a setting I could use. In the case there not being one, I was hoping there to be a HAT that could detect the pi being powered on, bringing a GPIO pin down to shut it down when it's on and bringing global_en down when it's not
2. Lessons learned while researching
2.1. Booting the rpi
- The pi can be booted by bringing the
GPIO 3
pin down (Documentation)
2.2. Shutdown
- The rpi can be safely shutdown by writing a py script and triggering it when a GPIO pin is brought down
- Downside: When shut down the usb devices, ethernet port and hat is still powered
2.3. Powering down USB devices,...
- On shutdown the usb devices can be powered down by editing the bootloader config. (Documentation)
- Downside: the rpi cannot be booted anymore by bringing the
GPIO 3
pin down
2.4. Alternative way of booting the rpi
- Bringin
GLOBAL_EN
down will reset the PMIC and will cause it to power up all its outputs. This will boot the rpi. source (Need to find an official one. But I've tested it). Also mentioned in the Documentation - Downside: Bringing
GLOBAL_EN
down while the rpi is turned on will (not safely) reboot the pi.
2.5. Extra
- The rpi still outputs 5v when shutdown,
WAKE_ON_GPIO=0
andPOWER_OFF_ON_HALT=1