It may be a fantastic, flexible computer, but the Raspberry Pi has one key drawback: the lack of a power button. Lack of a standard switch can lead to problems; Luckily, you can add your own Raspberry Pi power button.
There are two options available: DIY power button or button you purchased. Let’s see how to add a power button to your Raspberry Pi and ensure a safe, orderly shutdown.
Why You Need a Raspberry Pi Power Button
Using the Raspberry Pi is easy enough, but turning it on and off can lead to problems (see below).
When you first unbox your Raspberry Pi, the missing power button is striking. After all, every device, from desktop and tablet to wireless mouse, has a power button or switch. The Raspberry Pi, on the other hand, is not.
Instead, you need to plug in the USB power cable and wait for it to load your chosen Raspberry Pi-compatible operating system (OS). Turning the power on is easy enough, but turning it off is another matter entirely. The answer is to use a typed command or a mouse click to turn off the Pi, but this isn’t always ideal.
The Importance of Safe Shutdown
If your Raspberry Pi crashes, or you can’t access it remotely or via keyboard, mouse, and display, then the sudden shutdown becomes a problem. The only solution is to pull the power cable.
However, this can lead to problems.
If data is written to the SD card when the power is turned off, the card may be damaged. The result of this is often an operating system that won’t boot. While most modern SD cards are reliable enough to fix bugs, a new OS will likely need to be flashed.
It can also mean the loss of a significant amount of data. Of course, if you’ve used the Pi for a specific project, or used it to learn how to code with Scratch, you probably don’t want to lose your job.
This can be done by pulling on the power cord and damaging the card. clone SD card. is a good way to overcome such data loss, but prevention is always better than cure.
Safely shutting down the Raspberry Pi will allow the OS to complete active write processes to the SD card. The computer can then shut down without losing data or risking damage to the SD card.
Set Raspberry Pi Off switch to GPIO
One way to securely shutdown the Raspberry Pi is with a DIY switch connected to the computer’s GPIO. You can create your own with a Python script and one instant switch. These are inexpensive components that can usually be bought several times over.
If you can’t get it or want to switch right away, check out any old PC components you have. This is the same type you will find as your computer’s power button.
The momentary switch must be connected to a powered off Raspberry Pi on GPIO pins 39 and 40.
After the reboot, it’s time to create a Python script and program the GPIO.
The Raspberry Pi Safe Off Switch GitHub project explains how to use the GPIO Zero library to create a Raspberry Pi switch. GPIO Zero comes pre-installed with the full versions of Raspbian Stretch, but if you are using the Raspbian Lite version, you will need to install it manually.
sudo apt update sudo apt install python3-gpiozero
Next, create the script in your text editor. We use nano:
sudo nano shutdown-press-simple.py
In a text editor, type or copy and paste the following script:
#!/usr/bin/env python3 from gpiozero import Button import os Button(21).wait_for_press() os.system("sudo poweroff")
As you can see, this refers to the gpiozero library, sets GPIO pin 21 (the internal numbering system for physical pin 40) and initiates a «poweroff» command when a button press is detected. Save the script with Ctrl + X then Y, to confirm.
Back in the main terminal window, make the script executable:
chmod a+x shutdown-press-simple.py
To make sure this works after a reboot, add /etc/rc.local:
sudo nano /etc/rc.local
On the last line, before the exit statement, add:
Save and exit as before, then try the button.
Safe installation of the power button
You may notice that it is easy to accidentally press the button. Several solutions are available, from careful mounting from accidental bumps to needing a longer press (see the GitHub page above for more).
Whichever solution you prefer, installing a button seems reasonable once it’s installed. You may need to reconfigure your case a bit to accommodate the button. How you do this depends on several factors such as your Raspberry Pi model and case type.
If possible, it is recommended to install the button so that it is recessed. This prevents any accidental shock, like a power switch on a desktop computer.
Two Raspberry Pi Power Buttons You Can Buy
Looking for something else? Several Raspberry Pi power buttons can be bought online. Here are two popular options.
1. Pi power supply switch
Designed between the Raspberry Pi and the AC outlet, this power switch comes with the kit. You will need to solder the components to the PCB to get started and install this code from GitHub before connecting. Three buttons on the device allow you to turn on, turn off (which is the equivalent of pulling the cable), and initiate a graceful shutdown. The third button also allows you to reboot with a longer press.
2. iUniker Raspberry Pi Switch
The iUniker Raspberry Pi Switch, an alternative to the Pi Supply device, is a complete product with cables and a switch in a case. However, there is no way to avoid a sudden shutdown, which means that this is only suitable for turning on the Raspberry Pi.
On the other hand, the iUniker switch can also help avoid wear and tear on the Raspberry Pi’s power connector.
Add more buttons to your Raspberry Pi
Despite being released back in 2012, the Raspberry Pi still comes without a power button. Of course, this is by design. Cost issues and the sheer number of Pi projects (from a media center to an embedded IoT project) mean that the power button (or switch) remains an option.
Install one if you need; if not, keep going!
It’s not just a shutdown that can be problematic for the Raspberry Pi. What if you just need to restart your computer? Here’s How to Add a Reset Switch to Your Raspberry Pi Add a Reset Switch to Your Raspberry Pi