Setting up the Shutdown Button on LibreELEC (Plusberry Pi)

This tutorial is for owners of the Plusberry Pi case designed for the Raspberry Pi. The goal is to setup the shutdown button to work with LibreELEC. If you are running OpenELEC, you can follow the original tutorial provided by the Plusberry Pi team here. No copyright intended.  I simply added a few steps that are crucial to setting this up in LibreELEC. In summary, we will be creating the, adding the script from the original guide, and finally adding the script to the

Connecting the wires

Basically, you can use any available input, but this example will use pin #24. There is a connector with 3 wires (blue/black/green) coming from the left of the Plusberry board (it’s labeled “UART”). Connect the BLUE wire to pin #24. (see image below)


When you press the power button (short press), the GPIO will go from high to low, signaling the RPi to shut down. Now, of course, you need to write a script to actually shut down the RPi when getting the signal.

SSH into LibreELEC

Open up your ssh/telnet client to begin. Putty is a great utility for Windows users. For Mac, the built-in Terminal app is sufficient.


When asked if you are sure type the following


When asked for a password type the following



Change directory by typing the following

cd /storage/.config/

Create the file by typing the following


Copy and Paste the following in the empty space


# monitor GPIO pin 24 (wiringPi pin 1) for shutdown signal

# export GPIO pin 24 and set to input with pull-up

echo "24" > /sys/class/gpio/export

echo "in" > /sys/class/gpio/gpio24/direction

# wait for pin to go low

while [ true ]


if [ "$(cat /sys/class/gpio/gpio24/value)" == '0' ]


 echo "Raspberry Pi Shutting Down!"

 halt &

 exit 0


sleep 1


Save the file according to the program you’re using

On Mac, you simply press Control + X on your keyboard

Say yes by typing the following


Leave the filename default

Should be named “”

Press enter

Add the script to

Type the following

nano /storage/.config/

Paste the following in the empty space


   /storage/.config/ &


Save the file according to the program you’re using

Say yes by typing the following


Leave the filename default

Should be named “”
Press enter

Reboot the system and test it out!

Like & Subscribe!

9 thoughts to “Setting up the Shutdown Button on LibreELEC (Plusberry Pi)”

  1. What does the wiring diagram look like for a Model B which has a smaller GPIO header? I could use GPIO #4 for the shutdown button and then GPIO 5, the 3.3V pin and the ground pin for the IR Sensor. What about the other 2 wires. What are those used for?

    1. The diagram is the same. Just ignore the extra pins on the image above. Your model appears to have 26 pins so just stop there. If pin #4 works then by all means use that. Pin #24 is just what they suggested. The Plusberry team did not specify what those extra wires are for. I just left them alone to the side. Everything seems to work without them.

    1. I am not sure, I just copied the steps from the OpenELEC tutorial and changed a few things. Everything else is the same. I didn’t create the script so I have no idea how to help.

  2. Good afternoon. I followed all the steps according to the instructions, only replaced GPIO24 with GPIO3. But the switch does not work. RPI 3 Libreelec 8.0.2 On which version of LE does this script work?

  3. Hi. Thanks for the post. I had to do a couple of modifications to adapt the code for my PI. Otherwise was not working properly.

    1. The above was not working for me. Instead I used the following query for the

    (sh /storage/.config/

    2. I needed to used GPIO03 (SLC1 or Pin#05) instead of GPIO24. Just replaced the 24’s for 5’s in the (switch “24” to “5” and “/gpio24/” to “/gpio5/”).

    I’m using Libreelec 8.0.2. Hope this info helps someone as the scripts above helped me.


    1. Thank you! But still does not work. Could you send me your files and Maybe I’m typing the wrong code ..

  4. > I needed to used GPIO03 (SLC1 or Pin#05) instead of GPIO24. Just replaced the 24’s for 5’s in the (switch “24” to “5” and “/gpio24/” to “/gpio5/”).

    Are you sure? It’s pin5 but gpio3. In the original example it was pin 18 and gpio24. But it was always “24” not “18”. So don’t you have to use “3” and not “5”?

  5. This didn’t work for me, so I pieced together something that did. Here is my rudimentary guide.

    As LibreELEC’s system is generally a read-only system by default, you will need to get
    those write-permissions first:

    mount -o remount,rw /flash

    Nano is a very easy-to-use built-in text editor:

    nano /flash/config.txt

    Scroll down to the bottom using the ARROW keys and Enter the following at the bottom of
    the script:


    Save the file according to the program you’re using ie ctrl+o, ctrl+x

    Now you have to change back the read/write permissions of the system partition to ‘read-only’ again:

    mount -o remount,ro /flash

    This will call the shutdown menu when Pin 5 & 6 (GPIO 3 and Ground) are connected/shorted. Now we change the keymapping so the shutdown menu automatically selects shutdown without any extra key presses/menu clicks.

    Edit the keymap file:

    nano /storage/.kodi/userdata/keymaps/keyboard.xml

    Enter the following code into the empty space:


    Finally, you need to reboot for the changes in the config.txt to take effect:


    Libreelec 9.2.1 will now shut off and go to sleep properly when pins 5 & 6 are

    connected and start up again when those same pins are connected again.

Leave a Reply