This is a remix of HauntFreaks’s pi Zero NES cart "A Better Bezel", published Mar 27, 2017, his original design can be found here http://www.thingiverse.com/thing:2205100
1.-Copy and paste the following into new text file and save as shutdown.py on the /home/pi/ directory
import RPi.GPIO as GPIO import time import os GPIO.setmode(GPIO.BCM) GPIO.setup(3,GPIO.IN, pull_up_down=GPIO.PUD_UP) while True: if (GPIO.input(3) == True): os.system("sudo shutdown -h now") break time.sleep(0.50) 2.- Edit rc.local.
sudo nano /etc/rc.local3.- Add the following just before the line "exit 0".
(sleep 1; python /home/pi/shutdown.py)&Note: If you are using a momentary button instead of a latching button for the Power Button, you must update the script to watch for False instead of True.
if (GPIO.input(3) == False)
Schematic
The schematic to control the Pi Zero with the latching button is very simple as show in the picture below.