Hi, nice video, I am using the 7 inch touchscreen which utilises pins 5 and 6 already, is there an alternative pin out location i can use for the button?? TIA. Ian
The only two pins actually required for the touchscreen are 5V and GND - consider if your use case actually requires you to use any others - it might not.
Thanks working great! just one question, I've tried to change the script from PIN 3 to PIN 21, now it only shuts down the pi and not waking it up. any suggestions?
Hello, Running Buster on a Pi 3b+, your script is the only one I got to work, thank you. Question, is possible to add a "Hold" time in the script so the button has to be held down for x number seconds before shutting down. Many thanks.
I have a question. If we are already using Pin 5 for another thing like a controller, is there any way to change the pin settings for the button? Also great video!
Great video, thanks for sharing this. Is there an easy way to add a delay for shutdown? I’m using this in my vehicle and it has some interference. I figured if I add a .5 sec shutdown delay (hold the button for .5 sec) it will keep the noise from shutting down my PI.
Which pins should I use when doing this with a 7" pi touch screen? Pin 6 is used as part of the wiring for that so are there alternatives I could use instead?
hi, thanks for showing. I have a question, can you do this with a touch (capacitive) button? By touching the button for 3 seconds? that would work and if so, how?
Managed to make it work with a switch rather than a button. followed your instructions carefully and it works! now I need to figure out how to turn off the fan
Hey @Howchoo, I find the code working! But there's one thing which bugs me, when i first turn on the power supply, the pi boots up instead of waiting for a button press. Do u have any idea if this can be avoided?? Thanks in advance.
This worked great for my arcade cabinet power button until I needed to add a fan in 5v mode using pins 2 and 6. Can I use any other pins for a power button?
Yep, you don’t need the boot loader as long as you don’t somehow buy a super old Pi 4 that still has the original firmware (like old stock or something). Try skipping the firmware step and see if everything works. You can always do that step afterwards if needed.
Excellent Video......Thank you......I would like to use a button with an LED light ring. How can I use a flat metal actuator, surrounded by a green plastic LED ring. On the back there are 3 contacts for the button (common, normally-open and normally-closed) and 2 for the green LED ring (+ and -). Connect 3 to 6V to the LED and the Normal Open as in your video. My question is what would I connect the LED ring to on the board?
Man that worked like a charm! Thanks for saving me from pulling my hair out🤣. Tried older diys with no luck, then finally found this! Thank you sooooo much!!
Hi Howchoo, great and easy tutorial, however please help with one detail: I got the momentary NO button with 4 contacts (additional 2 contacts represent built-in LED functionality) - how should I connect /solder my button? Thanks for advice for anyone in this world. Cheers
@@trispycee I think you should be able to test your button with the instructions given between 02:07 - 02:28. Although the instructions are for a bit different thing (to detect if your button is a "normally open" or "normally closed" button), you can use the same style to detect which pins in your button are used for the button press if you try different pin combinations.
Hi! Good work! Unfortunately, however, although following all the steps indicated, this scheme does not work on my Raspberry Pi B+ V1.2 (2014) either with regard to the led or the on/off button (cf. the other video). Do you have any suggestions that can help me? Thanks in advance.
Hey quick question, so if I am supplying power from an OBD2 adapter in my car, stepped down from 12v to 5v and then plugged directly into the usb port, if I run this script will it still shut down the pi? I am trying to think of ways around splicing a toggle into the obd cable. thanks!
I have implemented this on a Raspberry Pi 3 and it works very well. Kudos to you for very clear instructions. I have a question that perhaps you can help answer. Will this solution work to power down the pi running on battery power when the battery is running low? I am guessing that pin 5 will go logic low as battery runs out, effectively same as shorting with pin 6 (GND). Thank you 🙏
Now, I think we can simply use "dtoverlay=gpio-shutdown" command in "/boot/config.txt" instead of this script. This script constantly shutdown my pi4 randomly while the 'dtoverlay' commande does not. Probably because of a debounce param missing, I guess. Thanks anyway for sharing
Thanks for this, very helpful. My PI ws turning on and off fine but all of a sudden it only turns it off. It won't turn back on and a reboot command is the same, shuts off but won't come back on.
Will the raspberry also turn on when you re insert the power (usb) cable or can you just insert it and need to press the power button? Because I don’t want it to unnecessarily turn on when inserting power cable. Just like a normal computer for instance.
I just bought a Rasp 4 B its on its way, for retropie, loved when I just realized I could take all my roms outside my computer 2 a single machine. I'm not an electric engineer so IDK nothing about hardware, i've been stuying with videos how to install it in the case, put the fan, the heat sinkers (or how its called), just realized the power button its cool, Want to implement it on my purchase, I saw your video and saw where you connected the button, but the fan uses 4 and 6, and you used 5 and 6 for the button, can I rotate the fan and change 6 to 14 that is ground too? IDK nothing about this so by logic im asking. Dont wanna damage mi PI.
You got it right-you can definitely use a different ground for either one. So use pin 6 for the fan's GND and 14 for the button GND. :) This is a good resource for identifying pins: pinout.xyz/
yes, a ground is a ground doesnt matter which pin on the rpi, and the rpi has multiple ground pins for use, you can look at the pinout guid howchoo referenced, and use any ground for the fan or button that makes cable management easier for you
What if the power button had an LED light built-in with 4 pins, and all the pins are the same length? Where would place the resister? I have an + /- pin. I know where they go, but I'm not sure about the LED.
I have installed your script on the RPI4 with Volumio, but the response was: File "/usr/local/bin/listen-for-shutdown.py", line 4, in import RPi.GPIO as GPIO ImportError: No module named RPi.GPIO How do I fix this?
So does the button only work on sd cards that you have written this code to? So if you reflash your sd card with another software, you'd have to redo all these steps? Does this work with other OS's like retropie, OSMC, or Kodi?
This works great. Just 2 things. 1). I get a message there is a resistor on GPIO3 when executing the script. 2). My Power does not fully go down. My Fan is still on although it looks like the USB ports are not active and of course the RED Led is still on. But this does Stop (shutdown) and Restart when I push the button.
very new to linux, but i'm enjoying the learning... i tried this and got this back /usr/local/bin/listen-for-shutdown.py:8: RuntimeWarning: A physical pull up resistor is fitted on this channel! GPIO.setup(3, GPIO.IN, pull_up_down=GPIO.PUD_UP) and the button does not work. i'm using a 3b if that makes a difference
From what I know, there are builtin pull-up resistors which basically prevents shorting pins when using a button. In this case I can only assume that its warning you about that, but I'm not 100% sure.
Can I use a different ground to pin 6, say pin 9 ? As I am trying to add a power switch to a Rasperry pi 3 b Kano kit. I assume the code would be different ?
Can this only be done on pins 5&6? I have a case with a fan, and that uses 4&6 on my Raspberry Pi 4B Edit: I don't need the reboot/wake-up, I only want the safe shutdown
Hello sir, I have a raspberry pi 4 model B 4GB. I purchased this pi on November 8th, 2020. Do I need to do the bootloader step at all this time because you said that the download link for the bootloader will probably change when the raspberry pi 4 updates its firmware?
Can you please provide me instructions to make it work on libreelec This works on osmc, but after the wake (power on by switch) does not play videos and rpi4 is slow, Need to reboot it to work properly
Thank you for the video. I implemented this on two raspberries that control 2 3d printers. It works as designed though there is one flaw. It looks like the gpio pins and scripts are picking up static electric discharges or so. When I am tuoching one 3d printer it often triggers the script on the other raspberry causing it to shut down and kill the print. Can the script be made less sensitive? Or otherwise, how can I remove the script? TYIA
@@TheZeroimpact TY so much for reacting, I googled it but still I am not sure that this is the only alteration needed. So base question from me "Is adding a 10k resistor on the GND cable of the switch enough?" Now the switch is connected directly to the GPIO pins but adding a 10k resistor on the GND cable will remove the annoying and unintentionally shut downs?
@@TheZeroimpact Still not certain if a 10k resistor on the gnd cable solely will suffice. Looking through many videos I get the impression that I need a cable to the 3.3V which is connect tho the switch and than the GPIO pin as well and the resistor which is than called "pull down". Please advise if this correct?
Yep, this will also “wake” the Pi. Shorting those two particular pins wakes it from a shutdown state so it can consume 0 power while off. Check out the full guide linked in the video description for a better explanation of how it works :)
In some other video it is explained to use some resistors not to damage the pins (breadboard and 4 pads button setup). Is this due to the button being used that you don't need anything but the button in your setup ?
The impact would be minimal if any; the amount of material being removed for the button is minuscule compared to the area of cooling material that makes up the entire case.
Awesome!! Thanks so much for your scripting, your video and the detailed write up on your site. I just wired and installed on my Pi4 which is in vehicular use. Now, so much easier to shut down gracefully, with a physical button, instead of the GUI (or worse, turning off ignition key and hard-crashing the pi). I was prepared to copy and paste the code, run it at boot up etc etc. But your script did all the heavy lifting. Cheers!!!
Hello! I'm currently planning out my first RPi project ever and I'm curious whether or not you know if there's a way to have it where you have to hold the button to shut down. With the project I'm planning, I'd imagine there's a chance of the button getting accidentally hit during use, so I want to mitigate this problem before it even begins. You wouldn't happy to have any thoughts regarding this, would you?
Is there a way to start different video in a loop with different pushbuttons? I am vollanteer in a museum and want to show short video in different languages beginning with a info video to ask to push the button off there choice. The Pi starts with a pir. Sorry, english is not my native language.
I have an error even though I have installed the rpi.gpio library. pi@raspberrypi:~ $ Traceback (most recent call last): File "/usr/local/bin/listen-for-shutdown.py", line 4, in import RPi.GPIO as GPIO ImportError: No module named RPi.GPIO I appreciate any help from you, thanks
For a raspberry pi 4 you can now update from the Terminal so no need for the boot loader, but once you install everything do a reboot first and then the button turns off and on. Thanks for the tut 👍
@@Howchoo is usb3 speed still shafted on the 'new' firmware - I'm holding off on updates as All of the ones released so far have had other issues. I know it's a small risk but I'd reticent about bricking another one - having had one dev machine blowing it's hdmi 0 socket off from under-powering
Thanks! And not quite-using a power cable with a switch is the same as ripping the cord out of the wall. That physically cuts power without SAFELY shutting the Pi down, which is bad :)
So, if you press the button it will send a signal and run a script and at the end will shut-off the raspberry pi. Now, how do you turn it on again? Because this is a normally open button. I was thinking of a rocker switch.
When you press the NO button a second time it will wake the Pi. I wouldn't recommend using a rocker switch, but if you absolutely had to, you could modify the script pretty extensively. I'm just curious -- why do you want to use a rocker switch over a push button? If it's for aesthetics, you could always grab a springed rocker switch that returns the switch back to the original position (basically an NO push button in a rocker switch form factor). Edit: On second thought, shorting those two pins is what wakes it up! So your toggle switch should work as-is. :)
howchoo is there a way to use it wich a nc switch. Also how to you know if it is an nc or oc switch without a multimeter I think I found out what kind of switch mine is. I believe it is an nc. My previous question still applies
This looks like a good solution for saving power on a RPi4 connected surveillance camera, but using a low power WiFi connected ESP32 (& motion detector) instead of a mechanical switch. Assuming that the RPi4 never really powers down, how much power does it use while in 'sleep' mode? Does it require a RTC battery to keep it 'alive'? Thanks😎
I did a similar project some time ago, the only problem with this is that if for example the script doesn't load for some reason or you load another image that doesn't have the script loaded and you push the button it may break the Pi, so it's safer to at least add a resistor to the switch or ideally make a pull up-down resistor circuit.
@@Howchoo But I believe the problem is that the pin stays at high voltage (3 or 5v) and doesn't use the internal push down or up resistor unless you enable it with the software.
@@NikhchansGaming hey have you had issues with your screen going black after 15 minutes or so but the fan is still running but it won't wake back up without pressing the new power button and then all mm programs that were open were then closed so it's not like it's going to sleep
Unfortunately not -- does the RTC have to be on Pin 5 (SCL)? Shorting SCL to GND is required to wake the Pi; so you could use another pin, but you'd only be able to use it to shut down the Pi, not wake it.
Awesome! I will use this for the arcade I'm working on. A question tho, Can I "unplug" the power cable after the script runs without any risk? Or the rpi stays on some kind of hibernation state? I'm asking this because I have a main switch on the Arcade to cut off all the electricity. (for safety reasons AND because I'm using a CRT tv that I turn off/on like this) and I pretend to use the button/script first and then press the main switch. Any thoughts?
i want to use my raspberry as an nas with openmediavalt and i also want a power button to shut it safly down. Can i also use this or must i use an other way?
You can use the power button that way as long as nothing else is using the same GPIO pins the power button requires. If you’re just doing a NAS, none of the pins should be in use anyways.
really good tutorial thanks. no idea why there are any thumbs down. only thing is, for me, I have 2 fans running on the same pin so will have to see if theres a way to move them or the button elsewhere?
Which pin are they running on? If it’s pin 5, this is definitely required for the power button’s “wake” functionality. But you can likely move your fan to another one (any other GPIO pin) since the fan probably only needs basic GPIO functionality :)
Thank you for your response Could you please point me in the right direction on how to do it and where to put it in the script ? I have tried modifying your script with other script codes I have found on UA-cam but with no luck
@@Howchoo so I have been looking into python before I go and install this I would like to run it by you if that's ok ? Under GPIO.setup(5, GPIO.IN, pull_up_down=GPIO_up # hold button for ? Seconds HoldTime=5 oldButtonState 1"+ str(HoldTime) +" seconds") True Then edit If buttonstate 1!= Old button 1 and buttonstate1 == False,hold_time=HoldTime
Awesome video I got my rpi 4b on dec 25 and it worked no problem no need to get the latest version. Btw recommend turning off the pi through the interface like you would a regular laptop or pc but turning ot on worked no problem.
Aw man. Seeing those RadioShack switches brings back memories. That was my first job right out of high school!
Aww yeah. I miss being able to run there to pick up a quick component or switch last minute-worth paying 5X the price :)
Radio shack was called Tandy in Australia back in the day.. Gone now.. Jaycar is my shop now when I need something right then.
Works on PI 4 in March 2023. Many thanks for all the hard work saving me loads....
Hi, nice video, I am using the 7 inch touchscreen which utilises pins 5 and 6 already, is there an alternative pin out location i can use for the button?? TIA. Ian
The only two pins actually required for the touchscreen are 5V and GND - consider if your use case actually requires you to use any others - it might not.
Thanks working great!
just one question, I've tried to change the script from PIN 3 to PIN 21,
now it only shuts down the pi and not waking it up.
any suggestions?
Hello,
Running Buster on a Pi 3b+, your script is the only one I got to work, thank you.
Question, is possible to add a "Hold" time in the script so the button has to be held down for x number seconds before shutting down. Many thanks.
This is by far the best tutorial for a power button. Very easy to do thanks very much
Wow! 100% on my Pi 4. This was an awesome little project.
Can I use different pins? The ones you showed are occupied by a display I'm using.
I have a question. If we are already using Pin 5 for another thing like a controller, is there any way to change the pin settings for the button? Also great video!
Excellent video!!! I just bought the premade button from your website, and will complete the project!!! Also liked and subscribed!!!
M. Hannis Awesome! Glad you liked it, we’ll ship your buttons out today :)
This video should have a ton more views. Great video.
Thanks! All in good time ;)
Hi! THANKYOU!! Only 1 question; this is a "push" button or is the "click" button?
Great video, thanks for sharing this. Is there an easy way to add a delay for shutdown? I’m using this in my vehicle and it has some interference. I figured if I add a .5 sec shutdown delay (hold the button for .5 sec) it will keep the noise from shutting down my PI.
can i use the same button for 5 raz-pi's so long as i wire them right ?or should i split them up between a few buttons??
looking to add an LED on my Raspberry Pi 4b. Can I also add a raspberry pi fan as well? Or are the pins taken up by the button?
What kind of wire stripper do you use? I really liked that one
Which pins should I use when doing this with a 7" pi touch screen? Pin 6 is used as part of the wiring for that so are there alternatives I could use instead?
hi, thanks for showing. I have a question, can you do this with a touch (capacitive) button? By touching the button for 3 seconds? that would work and if so, how?
2:38 Can I use Male to female jumper cables and tape/hook in the male ends to the button's pins?
Managed to make it work with a switch rather than a button. followed your instructions carefully and it works! now I need to figure out how to turn off the fan
Hi! May I ask what type of switch did you use on your end? Will a rocker switch work?
@@kurtroyales2659 yes a 2 way rocker switch with 3 connection points
Hey @Howchoo, I find the code working! But there's one thing which bugs me, when i first turn on the power supply, the pi boots up instead of waiting for a button press. Do u have any idea if this can be avoided?? Thanks in advance.
This worked great for my arcade cabinet power button until I needed to add a fan in 5v mode using pins 2 and 6. Can I use any other pins for a power button?
Thank you for the video. can I install directly now without that bootloader thing because its been two years now. do these things updated now?
Yep, you don’t need the boot loader as long as you don’t somehow buy a super old Pi 4 that still has the original firmware (like old stock or something). Try skipping the firmware step and see if everything works. You can always do that step afterwards if needed.
Excellent Video......Thank you......I would like to use a button with an LED light ring. How can I use a flat metal actuator, surrounded by a green plastic LED ring. On the back there are 3 contacts for the button (common, normally-open and normally-closed) and 2 for the green LED ring (+ and -). Connect 3 to 6V to the LED and the Normal Open as in your video. My question is what would I connect the LED ring to on the board?
Did you ever find a solution for this. I would like to use a lighted button as well.
Simple , straight forward, like that. Thanks for this video it actually was more helpful than I first imagine.
will this work with a momentary type of button/switch or does it have to be a normally open button?
It looks like the I/O connectors are too tall to clear the case. Did you shorten them somehow?
Man that worked like a charm! Thanks for saving me from pulling my hair out🤣.
Tried older diys with no luck, then finally found this! Thank you sooooo much!!
No problem!
Hi Howchoo, great and easy tutorial, however please help with one detail: I got the momentary NO button with 4 contacts (additional 2 contacts represent built-in LED functionality) - how should I connect /solder my button? Thanks for advice for anyone in this world. Cheers
I wish I had the answer to this, my Rpi 4 isn't working with this script and I don't know if it's the bootloader or the way I've soldered my button...
@@trispycee I think you should be able to test your button with the instructions given between 02:07 - 02:28. Although the instructions are for a bit different thing (to detect if your button is a "normally open" or "normally closed" button), you can use the same style to detect which pins in your button are used for the button press if you try different pin combinations.
@@jarkko4732 just an update: it works now! All I had to do was do a Sudo apt get update then Sudo apt upgrade and it updated the bootloader.
Great video - very clear and easy to follow. Thank you for sharing..
Is the button a momentary button..
Great video, thx
I think i will add a led if i do that, idk if it worth i but i like having visual that its "on" when using button like that
Hi! Good work!
Unfortunately, however, although following all the steps indicated, this scheme does not work on my Raspberry Pi B+ V1.2 (2014) either with regard to the led or the on/off button (cf. the other video). Do you have any suggestions that can help me?
Thanks in advance.
Great video, however why not use the gpio-shutdown overlay?
Yes, I'm wondering too, it seems easier. Is there some limitations with gpio-shutdown method ?
does ground need to be pin 6 or can it be any ground pin on the board? because 6 is already populated by a pwm cooling fan on mine.
Hey quick question, so if I am supplying power from an OBD2 adapter in my car, stepped down from 12v to 5v and then plugged directly into the usb port, if I run this script will it still shut down the pi? I am trying to think of ways around splicing a toggle into the obd cable. thanks!
I have implemented this on a Raspberry Pi 3 and it works very well. Kudos to you for very clear instructions. I have a question that perhaps you can help answer. Will this solution work to power down the pi running on battery power when the battery is running low? I am guessing that pin 5 will go logic low as battery runs out, effectively same as shorting with pin 6 (GND). Thank you 🙏
Now, I think we can simply use "dtoverlay=gpio-shutdown" command in "/boot/config.txt" instead of this script. This script constantly shutdown my pi4 randomly while the 'dtoverlay' commande does not. Probably because of a debounce param missing, I guess.
Thanks anyway for sharing
Thanks for this, very helpful. My PI ws turning on and off fine but all of a sudden it only turns it off. It won't turn back on and a reboot command is the same, shuts off but won't come back on.
Will the raspberry also turn on when you re insert the power (usb) cable or can you just insert it and need to press the power button? Because I don’t want it to unnecessarily turn on when inserting power cable. Just like a normal computer for instance.
I just bought a Rasp 4 B its on its way, for retropie, loved when I just realized I could take all my roms outside my computer 2 a single machine.
I'm not an electric engineer so IDK nothing about hardware, i've been stuying with videos how to install it in the case, put the fan, the heat sinkers (or how its called), just realized the power button its cool, Want to implement it on my purchase, I saw your video and saw where you connected the button, but the fan uses 4 and 6, and you used 5 and 6 for the button, can I rotate the fan and change 6 to 14 that is ground too? IDK nothing about this so by logic im asking. Dont wanna damage mi PI.
You got it right-you can definitely use a different ground for either one. So use pin 6 for the fan's GND and 14 for the button GND. :) This is a good resource for identifying pins: pinout.xyz/
yes, a ground is a ground doesnt matter which pin on the rpi, and the rpi has multiple ground pins for use, you can look at the pinout guid howchoo referenced, and use any ground for the fan or button that makes cable management easier for you
What if the power button had an LED light built-in with 4 pins, and all the pins are the same length? Where would place the resister? I have an + /- pin. I know where they go, but I'm not sure about the LED.
I have installed your script on the RPI4 with Volumio, but the response was:
File "/usr/local/bin/listen-for-shutdown.py", line 4, in
import RPi.GPIO as GPIO
ImportError: No module named RPi.GPIO
How do I fix this?
Did you ever find a fix? I am running into the same error. When I install before volumio, it allows me to wake the pi but not shut it down.
@@jonathanaknudsen No, I gave up.
Download link says "Sorry, the file you have requested does not exist."
Hey I have octoprint on my pi3b+ I was wondering if this will work with my instance of octoprint or it will corrupt my pi
I have a raspberry pi 4 and the pi 7 inch touchscreen. it uses the same pins is there a way to add a power button to that setup?
I was able to get a power button installed on my setup
Hello can I connect 2 wires in the same gpio for the screen and the buttons ?
Can I use pins 5 and 9 if I'm already using 4 and 6 for a fan etc?
So does the button only work on sd cards that you have written this code to? So if you reflash your sd card with another software, you'd have to redo all these steps?
Does this work with other OS's like retropie, OSMC, or Kodi?
Great video, as the guy below stated, easy to follow and worked like a charm
Great tutorial, thanks a lot. I was wondering how can I keep the host connection active even if I shut down the pi. PS. I am using Putty on Windows
Does this work with a regular non monetary NO switch? The pi is in a setup with a few other things that require a latching switch.
WOOOOOOWW! THANK YOU VERY MUUUUUCH! Worked on first try :)
This works great. Just 2 things. 1). I get a message there is a resistor on GPIO3 when executing the script. 2). My Power does not fully go down. My Fan is still on although it looks like the USB ports are not active and of course the RED Led is still on.
But this does Stop (shutdown) and Restart when I push the button.
very new to linux, but i'm enjoying the learning... i tried this and got this back
/usr/local/bin/listen-for-shutdown.py:8: RuntimeWarning: A physical pull up resistor is fitted on this channel!
GPIO.setup(3, GPIO.IN, pull_up_down=GPIO.PUD_UP)
and the button does not work.
i'm using a 3b if that makes a difference
how has decided this problem? I heared we have to
solder two resistors so that there is no short circuit
From what I know, there are builtin pull-up resistors which basically prevents shorting pins when using a button. In this case I can only assume that its warning you about that, but I'm not 100% sure.
Can I use a different ground to pin 6, say pin 9 ? As I am trying to add a power switch to a Rasperry pi 3 b Kano kit. I assume the code would be different ?
You can use any ground pin you want. The code would be the same.
Can this only be done on pins 5&6? I have a case with a fan, and that uses 4&6 on my Raspberry Pi 4B
Edit: I don't need the reboot/wake-up, I only want the safe shutdown
It has to be pin 5. Pin 6 can be switched out with any other ground pin.
How do you do the software if you have a different operating system installed on the raspberry pi? I have Emteria OS installed on mine
Hello sir, I have a raspberry pi 4 model B 4GB. I purchased this pi on November 8th, 2020. Do I need to do the bootloader step at all this time because you said that the download link for the bootloader will probably change when the raspberry pi 4 updates its firmware?
Almost certainly not. If the power button doesn’t work, then you should update the firmware.
@@Howchoo AH i see so, pretty much i can skip the bootloader step?
Can you please provide me instructions to make it work on libreelec
This works on osmc, but after the wake (power on by switch) does not play videos and rpi4 is slow, Need to reboot it to work properly
Hi. Would this work if you are running OctoPi on your Raspberry 4?
Just started with Raspberries so maybe it's a stupid question?
Is there a way to make it work with a nc?
Thank you for the video.
I implemented this on two raspberries that control 2 3d printers.
It works as designed though there is one flaw.
It looks like the gpio pins and scripts are picking up static electric discharges or so.
When I am tuoching one 3d printer it often triggers the script on the other raspberry causing it to shut down and kill the print.
Can the script be made less sensitive?
Or otherwise, how can I remove the script?
TYIA
Add a 10k resistor to the GND cable to crate a pull up check, just google this and you will see why this will solve this issue
@@TheZeroimpact TY so much for reacting, I googled it but still I am not sure that this is the only alteration needed.
So base question from me "Is adding a 10k resistor on the GND cable of the switch enough?"
Now the switch is connected directly to the GPIO pins but adding a 10k resistor on the GND cable will remove the annoying and unintentionally shut downs?
@@TheZeroimpact Still not certain if a 10k resistor on the gnd cable solely will suffice. Looking through many videos I get the impression that I need a cable to the 3.3V which is connect tho the switch and than the GPIO pin as well and the resistor which is than called "pull down".
Please advise if this correct?
Does this work for turning the power on as well? This seems like it will only work as a safe power off.
Yep, this will also “wake” the Pi. Shorting those two particular pins wakes it from a shutdown state so it can consume 0 power while off. Check out the full guide linked in the video description for a better explanation of how it works :)
Just wondering, is it fine to use one of the other earth pins? I'm already using 6 for a small fan. Thanks :)
Matthew Morgan Yep, you can use any ground.
@@Howchoo Thanks for the reply, great vid!
does your fan shut down with this? im curious
Great video! I tried it on raspberry zero W and it worked on first try!
In some other video it is explained to use some resistors not to damage the pins (breadboard and 4 pads button setup). Is this due to the button being used that you don't need anything but the button in your setup ?
This isn’t completely necessary-this is mainly to protect the Pi in case you accidentally connect the leads to the wrong pins. :)
@@Howchoo ok I see. Thanks for the answer
Worked Great, I ran the code ahead of time, Thanks for the howto Video
Like it but I wonder how would that affect the cooling efficiency of the case
The impact would be minimal if any; the amount of material being removed for the button is minuscule compared to the area of cooling material that makes up the entire case.
It make sense!, good video thanks for sharing!
@@marcoburningblue No problem! Thanks for checking it out :) We have lots more coming soon.
Awesome!! Thanks so much for your scripting, your video and the detailed write up on your site. I just wired and installed on my Pi4 which is in vehicular use. Now, so much easier to shut down gracefully, with a physical button, instead of the GUI (or worse, turning off ignition key and hard-crashing the pi). I was prepared to copy and paste the code, run it at boot up etc etc. But your script did all the heavy lifting. Cheers!!!
Hello! I'm currently planning out my first RPi project ever and I'm curious whether or not you know if there's a way to have it where you have to hold the button to shut down. With the project I'm planning, I'd imagine there's a chance of the button getting accidentally hit during use, so I want to mitigate this problem before it even begins. You wouldn't happy to have any thoughts regarding this, would you?
This could be done by forking and modifying the code-would require some knowledge of Python, but it can definitely be done :)
QUESTION: can I use the switch/button that is used for Computer to start or restart? I mean the PC power button?
Yes, its the same thing
Is there a way to start different video in a loop with different pushbuttons?
I am vollanteer in a museum and want to show short video in different languages beginning with a info video to ask to push the button off there choice. The Pi starts with a pir. Sorry, english is not my native language.
I have an error even though I have installed the rpi.gpio library.
pi@raspberrypi:~ $ Traceback (most recent call last):
File "/usr/local/bin/listen-for-shutdown.py", line 4, in
import RPi.GPIO as GPIO
ImportError: No module named RPi.GPIO
I appreciate any help from you, thanks
Hey can someone tell me if after I turn of the raspberry pie can I leave the power still plugged into it or should I take that out?
For a raspberry pi 4 you can now update from the Terminal so no need for the boot loader, but once you install everything do a reboot first and then the button turns off and on. Thanks for the tut 👍
with sudo apt update?
Hey will it only work in raspbian os......
Hi @Howchoo, can you post the updated google drive location for the bootloader files please. Currently link no longer works
Thanks for the video. I have a pi4 and would like to do this with a touch power button.. is this possible. it has gnd / io / vcc ?
yes this should be possible if you wire the gnd to gnd, vcc to 5v available on the board, and io to pin 5
Perfect!! My bartop is now 100% finished. Thank you 🙏🏼
No problem! Sounds like a cool project :)
@@Howchoo is usb3 speed still shafted on the 'new' firmware - I'm holding off on updates as All of the ones released so far have had other issues. I know it's a small risk but I'd reticent about bricking another one - having had one dev machine blowing it's hdmi 0 socket off from under-powering
Power Button: "Burrrrrrpp!!!!"
Me: I'm cutting you off!
This video is so cool! TY.
I have a Q. why this pin now also works to turn on the Pi?
I found on internet that devs aded a wake up routine on bootloader on GPIO3.
Do power cables that have switches built-in do the same thing basically? Great video, fun to watch.
Thanks! And not quite-using a power cable with a switch is the same as ripping the cord out of the wall. That physically cuts power without SAFELY shutting the Pi down, which is bad :)
simple and worked without any extra hassle......great ! Thanks to you....
You're welcome!
So, if you press the button it will send a signal and run a script and at the end will shut-off the raspberry pi. Now, how do you turn it on again? Because this is a normally open button. I was thinking of a rocker switch.
When you press the NO button a second time it will wake the Pi. I wouldn't recommend using a rocker switch, but if you absolutely had to, you could modify the script pretty extensively. I'm just curious -- why do you want to use a rocker switch over a push button? If it's for aesthetics, you could always grab a springed rocker switch that returns the switch back to the original position (basically an NO push button in a rocker switch form factor).
Edit: On second thought, shorting those two pins is what wakes it up! So your toggle switch should work as-is. :)
howchoo is there a way to use it wich a nc switch. Also how to you know if it is an nc or oc switch without a multimeter
I think I found out what kind of switch mine is. I believe it is an nc. My previous question still applies
This looks like a good solution for saving power on a RPi4 connected surveillance camera, but using a low power WiFi connected ESP32 (& motion detector) instead of a mechanical switch. Assuming that the RPi4 never really powers down, how much power does it use while in 'sleep' mode? Does it require a RTC battery to keep it 'alive'? Thanks😎
I did a similar project some time ago, the only problem with this is that if for example the script doesn't load for some reason or you load another image that doesn't have the script loaded and you push the button it may break the Pi, so it's safer to at least add a resistor to the switch or ideally make a pull up-down resistor circuit.
How would it break the Pi? Shorting GPIO3 to GND won’t do that
@@Howchoo I think I did it with gpio21. I don't know if gpio3 is different?
@@Howchoo But I believe the problem is that the pin stays at high voltage (3 or 5v) and doesn't use the internal push down or up resistor unless you enable it with the software.
Yea I just fried my board.... lame
@@jorgealejo1968 Ouch that sucks
Does the wakeup function work on rpi2 ?
Absolutely!
5:11 Is it okay to use other ground pins? I already have a fan on the 6.
I used other ground pins.
@@ryaneis7911 Yes. I did it too
@@NikhchansGaming hey have you had issues with your screen going black after 15 minutes or so but the fan is still running but it won't wake back up without pressing the new power button and then all mm programs that were open were then closed so it's not like it's going to sleep
@@ryaneis7911 Sorry but I didn't use it much with a display. I used it as a headless device.
@@ryaneis7911 you might want to check your settings in your distro. Twister OS has settings for the button press.
Hi
I have an RTC module on my RPI 4 already using pin 5, may use an alternative pin for the power button? Thanks for your advice!
Unfortunately not -- does the RTC have to be on Pin 5 (SCL)? Shorting SCL to GND is required to wake the Pi; so you could use another pin, but you'd only be able to use it to shut down the Pi, not wake it.
@@Howchoo i dont want to start the pi with the button. how can i change it that it turns off on another pin
Awesome! I will use this for the arcade I'm working on. A question tho, Can I "unplug" the power cable after the script runs without any risk? Or the rpi stays on some kind of hibernation state?
I'm asking this because I have a main switch on the Arcade to cut off all the electricity. (for safety reasons AND because I'm using a CRT tv that I turn off/on like this) and I pretend to use the button/script first and then press the main switch.
Any thoughts?
Oh yeah you can totally cut the power after it shuts down safely. :) Just reconnect the power and it’ll boot right up.
@@Howchoo Great! So this is just what I need. Thanks you!!
Does it mean the shutdown script doesn’t perform a complete shutdown (power off) of the RPi?
2:40 where I can buy one
Super easy and it worked on my Pi4! Thanks so much
i want to use my raspberry as an nas with openmediavalt and i also want a power button to shut it safly down. Can i also use this or must i use an other way?
You can use the power button that way as long as nothing else is using the same GPIO pins the power button requires. If you’re just doing a NAS, none of the pins should be in use anyways.
Thanks you so much. This video helped me a lot.
No problem! Glad it helped :)
really good tutorial thanks. no idea why there are any thumbs down. only thing is, for me, I have 2 fans running on the same pin so will have to see if theres a way to move them or the button elsewhere?
Which pin are they running on? If it’s pin 5, this is definitely required for the power button’s “wake” functionality. But you can likely move your fan to another one (any other GPIO pin) since the fan probably only needs basic GPIO functionality :)
I like you video. could you make the shut down button time delayed so you have to hold the button down for 6 second before it shuts down?
You can definitely modify the script to do this. :)
Thank you for your response
Could you please point me in the right direction on how to do it and where to put it in the script ? I have tried modifying your script with other script codes I have found on UA-cam but with no luck
@@Howchoo so I have been looking into python before I go and install this I would like to run it by you if that's ok ?
Under
GPIO.setup(5, GPIO.IN, pull_up_down=GPIO_up
# hold button for ? Seconds
HoldTime=5
oldButtonState 1"+ str(HoldTime) +" seconds") True
Then edit
If buttonstate 1!= Old button 1 and buttonstate1 == False,hold_time=HoldTime
Did you ever find out how to add the Hold time ? Thanks.
@@mikeg1zrn896 and you ? Did you find any solution?
Solid tutorial, thanks for this :) - Gonna try same on my RPi5.
Does this work with Windows? Because I have Windows 10 instead of Raspbian...
my pi4 will shutdown but the CPU Cooler is still spinning and LED on NIC flashing like crazy. How to set it to kill all power on the 5v completely?.
Awesome video I got my rpi 4b on dec 25 and it worked no problem no need to get the latest version. Btw recommend turning off the pi through the interface like you would a regular laptop or pc but turning ot on worked no problem.
Great, thanks for the info!
You legend. Thanks so much - this worked first go - super fast - super easy - THANKS SO MUCH