This is an old revision of the document!

Add Powerdevices and Buttons to your Raspberry

To keep the price down, the Raspberry Pi Baird doesn't ship with a power button, yet it's easy to add your own! This guide will show you how to add a power button to your Raspberry Pi that can turn on/off your BATOCERA system.

If you don’t want to build your own, several popular commercial options are available. They will add a power switch to your Raspberry Pu, sometimes provide a temperature-controller fan… and add a stylish look to your board.

  • Commercial Power Switches
    • provide real power cuts
    • costs are around 10-25 USD
    • usually need some space to build in
  • Simple Buttons or latching switches
    • very simple setup
    • low cost
    • no powercut possible

You should never “yank” the power cord out of your Pi as this can lead to severe data corruption (and in some cases, physically damage your SD card). Even if BATOCERA is best prepared against file corruption it is recommended to safely shut down your Pi via BATOCERAs Quit Menu or even better, use a power button or switch

Note: When we “shut down” the Pi, it will send it into a halt state, which still consumes a very small amount of power. This is similar to how all modern computers work. In this guide walk through the process of adding a power button that will both halt and wake the Pi up from a halted state. Additionally, after your Pi has shut down, you can safely disconnect the power supply (should you desire) without the worry of data corruption.

Here are some commercial powerdevices that are currently supported. These offer a real power cut, that means the Raspberry is really switched off. Usually these small power devices are plugged on top of the Raspberry using it's 40 Pin header. For further install instruction use the links provided.

Device Name system.power.switch Where to buy and additional help to install SideNotes
Mausberry Circuits MAUSBERRY
Pimorini OnOffShim ONOFFSHIM
msldigital PiBoard r2013 REMOTEPIBOARD_2003
msldigital PiBoard r2015 REMOTEPIBOARD_2005
Retroflag Cases RETROFLAG enable UART in config.txt for LED action
Argon One for RPi4 ARGONONE define your own temperature/fan speed ladder in /userdata/system/configs/argonone.conf

Simple pushbutton or switches

It is possible to add a button to turn on and turn off your BATOCERA console properly! But how?

You can add a power button to switch on/off BATOCERA. The button can be either a push button (momentary button) or a switch button (latching switch). Note on the push buttons: some GPIO have resistors pull-up built-in (resistors connected to the + 3.3V), so it is preferable to use switches normally open (abbreviated NO) with these pins.

to connect the switch to the Raspberry Pi GPIO, plug a PIN on the GPIO3 (physical PIN 5 above on the left) and another on the mass located just to the right on the right (physical PIN 6):

Check in the table above what is the type of power switch you need.

Then, edit the config file ’’/userdata/system/batocera.conf’’ - in the example below with PIN56ONOFF.

  • For a latching switch edit batocera.conf with your preferred text editor and add system.power.switch=PIN56ONOFF
  • Reboot the system
  • Alternatively, if you don’t want to edit the file and you are logged in with SSH or you've a terminal open then enter
  batocera-settings --command set --key system.power.switch --value PIN56ONOFF

Your BATOCERA system can now be turned on/off with a button!

Get a terminal window by quitting EmulationStation with a Keyboard or get a access to terminal by SSH. Now enter

  • rpi_gpioswitch or
  • /etc/init.d/S92switch setup

and you will see a terminal windows like in picture down. From there you can select and activate your power or switch device. The script will show you an already activated device (ONOFFSHIM in this case) and will later show you a small message box, if the value setup was successfully setted up. After this reboot the device and everything should work fine.

  • add_powerdevices_rpi_only.1591454914.txt.gz
  • Last modified: 11 months ago
  • by lbrpdx