Power Button For RPi
Old Version V1.22
New Version V2.02
As everyone at some point will recognize the Raspberry Pi doesn't include any kind of shutdown button.
So the only way to power it off is by unplugging it from the power supply.
To make sure you get no corruption of your data files on the SD card you should shutdown the Raspberry before powering it off.
So the whole procedure can be a bit annoying especially if you want to use the Raspberry as some kind of embedded PC .
e.g. a media server or an internet radio.
NOTE:There is new version: V2.02, using this method to setup the driver, Link is under below:
Driver installation for Version 2.02
Power Button provides a small circuit that includes the features:
- Sending a shutdown signal to the Raspberry if the Shutdown Button is pressed
- Waiting for the Raspberry to shut down
- Powering off the Raspberry after save shutdown
- Powering on the Raspberry after the Button is pressed again
- LED light indicating the current state: On / Shutdown / Off
- Easy to setup
- Updated MCU
- Changed Layout
- Changed Button
- Optimized code
|Dimension||65mm x 30 mm x 20mm|
- Power Button For RPi Module x1
- IR Remote controller ( without battery) x1
- V1.22 and V2.02 has the same Mechanical Drawing, means that they has the same size.
There is a chart which can show you the function of the GPIO Pin definition of this board:
|Disk Status||21||Pin 40|
|Shut Down||24||Pin 18|
|PWR Status||26||Pin 37|
NOTE: Please make sure that your Raspberry Pi have 5V/2.5A power supply with this module!!!
How to wire it up
Do NOT connect your power supply to Raspberry Pi, Please connect it to Power Button directly.
How to set it up
NOTE: This method is only for Old version 1.04
- 1. Remove your TF card and connect it to your PC or laptop with TF card adapter.
- 2. Modify /boot/config.txt file as following, for example, my pi is Raspberry Pi 3 model B:
device_tree=bcm2710-rpi-3-b.dtb dtoverlay=power-off,gpiopin=26 dtoverlay=pi3-act-led,gpio=21
NOTE: device_tree=PARAMETER is depends on your Raspberry Pi's model. more info please access this link:
|Raspberry Pi model||Device_Tree Info|
|Raspberry Pi B :||device_tree=bcm2708-rpi-b.dtb|
|Raspberry Pi 2B :||device_tree=bcm2709-rpi-2-b.dtb|
|Raspberry Pi B+ :||device_tree=bcm2708-rpi-b-plus.dtb|
|Raspberry Pi 3 B:||device_tree=bcm2710-rpi-3-b.dtb|
- 3. Install the library of wiringPi and Download shell script to check the GPIO pin's status:
sudo apt-get install -y wiringPi cd ~ git clone https://github.com/yoyojacky/powerbutton.git cd ~/powerbutton sudo mv ~/powerbutton/gpioshutdown /etc/init.d/ sudo chmod +x /etc/init.d/gpioshutdown
- 4. Edit the initialized file in /etc/rc.local :
sudo nano /etc/rc.local
Add those three lines before exit 0
sudo /etc/init.d/gpioshutdown & #Thanks for Steven Porter's kindly advise. (update the "&" mark at the end of command) gpio mode 25 out gpio write 25 1
After edit this file, Press "Ctrl + X" to save this file and Press "Y“ to save it.
- 5. Reboot your Raspberry Pi and plug power button on your RPi, press the button to test.
How to install driver for Version 2.02
- Install package's for script.check if wiringPi package has been installed, if not, install it.
sudo apt-get -y update
sudo apt-get -y install wiringPi
- Just download it from https://github.com/geeekpi/RPB.git by:
cd ~ git clone https://github.com/geeekpi/RPB.git cd RPB-HAT/ sudo cp -Rvf remoteswitch /etc/init.d/ sudo chmod +x /etc/init.d/remoteswitch sudo chkconfig --add remoteswitch sudo chkconfig --level 2345 remoteswitch on
Reboot your raspberry and try to press the power button, reboot button and test it.
Please follow the link: [ Raspberry Pi 3B with Ir remote power button and pi supply & USB HUB | https://youtu.be/BhEoGZshiPM ]