Support for RemotePi Board for Pi 3, Pi 2 and B+ , RemotePi Board for Pi Model B


Installation

The installation of the RemotePi Board consists of software (some scripts on the Raspberry Pi OS) and hardware installation (mounting the RemotePi Board on the Raspberry Pi). Both software and hardware installation steps are described in detail below.
  • First install the shutdown script on your media center installation. To do this choose the OS you are using from the options below (OpenElec, Raspbmc, XBian, ...) and follow the instructions.
  • Switch off and disconnect the power plug from the Raspberry Pi.
  • For the RemotePi Board for Pi Model B : Mount the supplied screw, two washers and two nuts according to the picture below using the Raspberry Pi mounting hole near the center :
     
  • For the RemotePi Board for Pi 3, Pi 2 and B+ : Mount the supplied screw and two nuts on the RPi’s existing mounting hole near the front right. There are no washers supplied and necessary for the RemotePi Board for Pi 3, Pi 2 and B+.
  • Plug in the RemotePi Board, make sure and double check, that the GPIO connectors line up towards the front of the Raspberry Pi.

  • Adjust the nut under the RemotePi Board until the board is leveled.
  • Secure the RemotePi Board with another nut from the top.

  • Connect power to the RemotePi Board’s Micro USB socket, do not use the Raspberry Pi micro USB power socket.
    Please ensure that the micro USB connector is oriented as shown in the picture below, i.e. with the narrower side of the trapezoidal plug up.

  • If you connect the power by accident to the Raspberry Pi micro USB socket with the RemotePi Board mounted on the Pi, you will not damage anything, but the power control function of the RemotePi will not work.
  • You will see a short red/green blink of the RemotePi’s LED to indicate the board is working.
  • If you would like to use your existing RPi case, you will need to modify it, so that the micro USB power connector and the button on top of the RemotePi are accessible, and the LED and infrared receiver are visible from outside.
  • If you want to use your own existing remote to control your media center as well, then you will have to enable LIRC and create your own lircd.conf file. (If you use our remote we have already created the file for you and you only need to install it). This file tells the OS how to understand the keys on your remote. You can use the configuration guide on the remote page as a guideline, but you will still need to figure out the lircd.conf contents for your own remote as this file is different for every remote model. There are various tutorials on the web on how to do this, basically you either find a ready-made lircd.conf file or you run a program on the RPi which learns the key functions and creates a lircd.conf file for you.
    If you own a Logitech Harmony remote you can use these configuration instructions.
    Please Note : If you create your own lircd.conf, please do not include the KEY_POWER key in the list. The power is handled by the RemotePi Board.

Using the RemotePi Board

  • Choose the button on the remote you want to use to switch your RPi on and off in the future, then press the hardware button on top of the RemotePi Board for about 10 seconds until you see the LED blinking green and red. Now you have about 20 seconds time to aim the remote towards the RemotePi Board’s infrared receiver and press the button you want to use for powering on your RPi. You will see the green LED flashing once when the button was learned. If no infrared command is learned within 20 seconds you see the red LED flash and the learning mode is exited without changing the current configuration.
    You can learn in two different commands from your remote, one for power on and one for power off. This can be useful, if you are using a Logitech Harmony universal remote, these can be configured to switch on or off all your devices at once. By using two different commands for power on and power off the Logitech Harmony remote can determine the power status of the RemotePi Board. To learn in two different commands, after pressing the button on the remote you want to use to power on the RPi, press another button on the remote you want to use for power off. You see two short green LED flashes. Of course you can learn in the same remote button for on and off, in case you want to use only one button to toggle power.
  • A short press of the button on top of the RemotePi Board power toggles the RPi in the same way the learned button on the remote does.
  • While powering up, the LED flashes green for about 75s. You cannot use the pushbutton or button on the remote to power down the RPi during this time. This is to prevent cutting the power while the system is still booting up (You can change the default delay by using the configuration tool).
  • While powering down, the LED flashes red until the OS is shut down. Once the OS is properly shut down the RemotePi Board will cut off the power to the RPi. In case the OS hangs and is not shutting down, you can either wait for 4 min, then the RemotePi Board will cut the power regardless of the state of the OS, or you can use a long press of the pushbutton (about 10s) to immediately cut the power. This 'emergency power cut' should only be used in the case the OS does not shut down normally.

  • Here is how you know that everything works correctly : When you switch off the power of the RPI using either the hardware button on top of the RemotePi Board or the remote, you will see your media center shutting down on the TV within the few seconds. Then the power is cut a few seconds later. If the OS does not shut down first before the power is cut, then you need to double check your script installation.

Shutdown scripts

You will need to install one of the following shutdown scripts, these handle the power down request from the RemotePi Board and shut down the OS before the power is actually cut. Choose the shutdown script according to the OS you are using. To connect to the Raspberry Pi for the steps below you can use PuTTY under Windows or, if you use an Apple Mac, the built-in Terminal program.

Please note that the shutdown scripts for the RemotePi Board for P3, Pi 2 and B+ and the RemotePi Board for Pi Model B are the same. The shutdown scripts for the RemotePi Board 2013 are different.

 

OpenElec and LibreELEC (tested with OpenElec 4 to 6.0.3 and LibreELEC 7.0.2)

    • Note : If you prefer the instructions for OpenElec in German language you can find a review and detailed installation instructions here
    • Note : In OpenElec it is currently NOT safe to just call the poweroff command from the script. This would corrupt your SD card eventually. The script below mimics the proper shutdown sequence which is executed when you choose shutdown from the GUI.
    • Default user name is root, password openelec (password for LibreELEC is libreelec)
    • Key in :
      cd .config
      nano autostart.sh

    • Copy and paste the following into the nano editor window. If there is already something in the file, just add the following as the last lines
      #!/bin/bash
      (/storage/.config/irswitch.sh)&
    • Press ctrl+x to exit the editor, y to confirm, enter to save the file
    • Key in
      chmod +x autostart.sh
      nano irswitch.sh
    • Copy and paste the following text into the editor window
      #!/bin/bash
      # prevent restarting XBMC at shutdown. This is only used for OpenElec before V5
      LOCKDIR="/var/lock/"
      LOCKFILE="xbmc.disabled"
      # this is the GPIO pin receiving the shut-down signal
      GPIOpin1=14
      # functions
      add_omit_pids() {
      omit_pids="$omit_pids -o $1"
      }
      safe_shutdown () {
      # for OpenElec before V5
      touch "$LOCKDIR/$LOCKFILE"
      # for OpenElec V5 and later
      systemctl stop kodi
      add_omit_pids $(pidof connmand)
      add_omit_pids $(pidof dbus-daemon)
      killall5 -15 $omit_pids
      for seq in `seq 1 10` ; do
      usleep 500000
      clear > /dev/tty1
      killall5 -18 $omit_pids || break
      done
      sync
      umount -a >/dev/null 2>&1
      poweroff -f
      }

      echo "$GPIOpin1" > /sys/class/gpio/export
      echo "in" > /sys/class/gpio/gpio$GPIOpin1/direction
      while true; do
        sleep 1
        power=$(cat /sys/class/gpio/gpio$GPIOpin1/value)
        if [ $power != 0 ]; then
          echo "out" > /sys/class/gpio/gpio$GPIOpin1/direction
          echo "1" > /sys/class/gpio/gpio$GPIOpin1/value
          sleep 3
          safe_shutdown
        fi
      done
    • Press ctrl+x to exit, y to confirm, enter to save the file
    • Key in
      chmod +x irswitch.sh
    • Reboot from the OpenElec or LibreELEC GUI (do NOT use reboot or poweroff in the ssh session as this may corrupt your SD card).
    • After reboot you can use the RemotePi Board to power cycle OpenElec / LbreELEC

RasPlex (tested with RasPlex 0.6.0 to 1.6.2)

    • RaspPlex 0.6.0 and newer include support for the RemotePi Board and our remote out-of-the-box, no need to install any scripts manually !
    • To activate support for the RemotePi Board go to menu System Settings, Services, scroll down and select 'Enable RemotePi Board Support'. In the menu entry below select version 2015, which is the correct setting for all current RemotePi Boards.

RasPlex 0.5.1 and older (tested with RasPlex 0.3.1, 0.5.1)

    • Default user name is root, password rasplex
    • The rest of the configuration for RasPlex is the same as for OpenElec, see above. (RasPlex is based on OpenElec)

OSMC (tested with OSMC RC, OSMC Release 20150830)

    • Default user name for OSMC is osmc, password osmc
    • Key in :
    • cd /etc
      sudo nano rc.local
    • Copy and paste the following into the nano editor window, just above the last line (before the line exit 0)
      (/etc/irswitch.sh)&
    • Press ctrl+x to exit the editor, y to confirm, enter to save the file
    • Key in
      sudo nano irswitch.sh
    • Copy and paste the following text into the editor window
      #!/bin/bash
      # this is the GPIO pin receiving the shut-down signal
      GPIOpin1=14
      echo "$GPIOpin1" > /sys/class/gpio/export
      echo "in" > /sys/class/gpio/gpio$GPIOpin1/direction
      while true; do
        sleep 1
        power=$(cat /sys/class/gpio/gpio$GPIOpin1/value)
        if [ $power != 0 ]; then
          sudo initctl stop kodi
          echo "out" > /sys/class/gpio/gpio$GPIOpin1/direction
          echo "1" > /sys/class/gpio/gpio$GPIOpin1/value
          sleep 3
          sudo shutdown -h now
        fi
      done
    • Press ctrl+x to exit, y to confirm, enter to save the file
    • Key in
      sudo chmod +x irswitch.sh
      sudo shutdown –r now
    • After reboot you can use the RemotePi Board to power cycle OSMC

XBian (tested with XBian 2016.05.13)

    • Default user name is xbian, password raspberry
    • Key in :
      cd /etc
      sudo nano rc.local
    • Copy and paste the following into the nano editor window, just above the last line (before the line exit 0)
      (/etc/irswitch.sh)&
    • Press ctrl+x to exit the editor, y to confirm, enter to save the file
    • Key in
      sudo nano irswitch.sh
    • Copy and paste the following text into the editor window
      #!/bin/bash
      # this is the GPIO pin receiving the shut-down signal
      GPIOpin1=14
      echo "$GPIOpin1" > /sys/class/gpio/export
      echo "in" > /sys/class/gpio/gpio$GPIOpin1/direction
      while true; do
        sleep 1
        power=$(cat /sys/class/gpio/gpio$GPIOpin1/value)
        if [ $power != 0 ]; then
          echo "out" > /sys/class/gpio/gpio$GPIOpin1/direction
          echo "1" > /sys/class/gpio/gpio$GPIOpin1/value
          sleep 3
          sudo shutdown -h now
        fi
      done
    • Press ctrl+x to exit, y to confirm, enter to save the file
    • Key in
      sudo chmod +x irswitch.sh
      sudo reboot
    • After reboot you can use the RemotePi Board to power cycle XBian

Volumio 1.55 or lower

    • Default user name is root, password volumio
    • Volumio uses a copy of rc.local to overwrite the actual startup script on every reboot, therefore the rc.local has to be changed in two places.
    • Key in :
      nano /var/www/_OS_SETTINGS/etc/rc.local
    • Copy and paste the following into the nano editor window, just above the last line (before the line exit 0)
      (/etc/irswitch.sh)&
    • Press ctrl+x to exit the editor, y to confirm, enter to save the file
    • Key in :
      cd /etc
      nano rc.local
    • Copy and paste the following into the nano editor window, just above the last line (before the line exit 0)
      (/etc/irswitch.sh)&
    • Press ctrl+x to exit the editor, y to confirm, enter to save the file
    • Key in
      nano irswitch.sh
    • Copy and paste the following text into the editor window
      #!/bin/bash
      # this is the GPIO pin receiving the shut-down signal
      GPIOpin1=14
      echo "$GPIOpin1" > /sys/class/gpio/export
      echo "in" > /sys/class/gpio/gpio$GPIOpin1/direction
      while true; do
        sleep 1
        power=$(cat /sys/class/gpio/gpio$GPIOpin1/value)
        if [ $power != 0 ]; then
          mpc stop
          echo "out" > /sys/class/gpio/gpio$GPIOpin1/direction
          echo "1" > /sys/class/gpio/gpio$GPIOpin1/value
          sleep 3
          shutdown -h now
        fi
      done
    • Press ctrl+x to exit, y to confirm, enter to save the file
    • Key in
      chmod +x irswitch.sh
      reboot
    • After reboot you can use the RemotePi Board to power cycle Volumio

Volumio 2 RC1 and newer

    • Default user name is volumio, password volumio
    • The rest of the configuration for Volumio 2.x is very similar as for XBian, see above, the only difference is that the line
      mpc stop
      needs to be added after the line 'if [$power != 0]; then' in the irswitch.sh script.

RuneAudio (tested with 0.3-beta)

    • Default user name is root, password rune
    • Key in :
    • cd /etc
    • nano irswitch.sh
    • Copy and paste the following text into the editor window
      #!/bin/bash
      # this is the GPIO pin receiving the shut-down signal
      GPIOpin1=14
      echo "$GPIOpin1" > /sys/class/gpio/export
      echo "in" > /sys/class/gpio/gpio$GPIOpin1/direction
      while true; do
        sleep 1
        power=$(cat /sys/class/gpio/gpio$GPIOpin1/value)
        if [ $power != 0 ]; then
          mpc stop
          /srv/http/command/rune_shutdown
          echo "out" > /sys/class/gpio/gpio$GPIOpin1/direction
          echo "1" > /sys/class/gpio/gpio$GPIOpin1/value
          sleep 3
          poweroff
        fi
      done
    • Press ctrl+x to exit, y to confirm, enter to save the file
    • Key in
      chmod +x irswitch.sh
    • RuneAudio is based on Arch Linux, in order to run the above script at boot it has to be registered as a startup service :
    • Key in
      cd /usr/lib/systemd/system
      nano irswitch.service
    • Copy and paste the following text into the editor window
      [Unit]
      Description=RemotePi Service
      After=systemd-modules-load.service
      [Service]
      Type=simple
      ExecStart=/etc/irswitch.sh
      [Install]
      WantedBy=multi-user.target

    • Press ctrl+x to exit, y to confirm, enter to save the file
    • Key in
      systemctl enable irswitch.service
      reboot
    • After reboot you can use the RemotePi Board to power cycle RuneAudio

Raspbmc (tested with Raspbmc running Kodi Built 24 Dec 2014)

    • Default user name is pi, password raspberry
    • The rest of the configuration for Raspbmc is the same as for OSMC, see above. (Raspbmc is the predecessor of OSMC)

Raspbian (tested up to Raspbian Jessie 2016-09-23)

    • Default user name is pi, password raspberry
    • The rest of the configuration for Raspbian is the same as for XBian, see above.

RetroPie (tested with RetroPie 3.6 to 4.0.2)

    • Default user name is pi, password raspberry
    • The rest of the configuration for RetroPie is the same as for XBian, see above.

Recalbox (tested with Recalbox 4)

    • Recalbox already comes with the RemotePi Board shutdown script built-in, it just needs to be enabled by editing the Recalbox configuration file.
    • Default user name is root, password recalboxroot
    • Key in :
      nano /recalbox/share/system/recalbox.conf
    • remove the leading ; in the line ';system.power.switch=REMOTEPIBOARD_2005 ...'
    • Press ctrl+x to exit, y to confirm, enter to save the file
    • After reboot you can use the RemotePi Board to power cycle Recalbox

The hardware

If you would like to use the GPIO for other purposes as well, here a list of GPIO pins used by the RemotePi Board for Pi 3, Pi 2 and B+ and the RemotePi Board for Pi Model B. See this link on how the pins are numbered.
The remaining pins are not connected :
Pin 2 and Pin 4 + 5V
Pin 6 and Pin 9 GND
Pin 8 GPIO 14 for the shutdown signal and TxD for the serial communication
Pin 10 GPIO 15 for the shutdown signal and RxD for the serial communication
Pin 12 GPIO 18 for the IR receiver. This can be changed to GPIO 17, see below

 

If you do not want to use a power supply with a micro USB connector, for example, if you have a power supply with a different plug, you can instead connect +5V and GND directly to the RemotePi Board by soldering cables to the following two pads :

RemotePi Board for Pi 3, Pi 2 and B+ 

RemotePi Board for Pi Model B 

 

Please make sure not to swap GND and +5V ! 

We offer an external illuminated pushbutton for the RemotePi Board with ext. IR and LED, but in case you would like to connect your own external button, please refer to the schematics of the two connectors below. The illuminated external button is connected to the socket on the right side. The connectors used are standard JST PH 2.0mm 5pin (for the IR and LED) and 3 pin (for the pushbutton) connectors :

 

Invoke shutdown from program or script

You can invoke a power shut-down by the RemotePi Board for Pi 3, Pi 2 and B+ or the RemotePi Board for Pi Model B not only by pressing the pushbutton or using the learned button of the remote, but also directly by a program or script. To avoid accidental power shut-down you need to follow a specific sequence :

Set GPIO 15 high for 125ms, low for 200ms, high for 400ms, low for at least 200ms

The following generic script for Raspbian, XBian, Raspbmc achieves this. For OpenElec remove the # in front of usleep and put a # in front of the lines starting with sleep : 

#!/bin/bash
GPIOpin=15
echo "$GPIOpin" > /sys/class/gpio/export
# execute shutdown sequence on pin
echo "out" > /sys/class/gpio/gpio$GPIOpin/direction
echo "1" > /sys/class/gpio/gpio$GPIOpin/value
#usleep 125000
sleep 0.125
echo "0" > /sys/class/gpio/gpio$GPIOpin/value
#usleep 200000
sleep 0.2
echo "1" > /sys/class/gpio/gpio$GPIOpin/value
#usleep 400000
sleep 0.4
echo "0" > /sys/class/gpio/gpio$GPIOpin/value

After this script is executed the RemotePi Board will invoke a normal shutdown, i.e. you still need to have one of the above shutdown scripts installed to handle the shutdown of the OS.

You can use this functionality to shut down your media center when you select the shutdown button on the screen. Below some guides for specific media center distros :


OpenElec, LibreELEC and RasPlex

    • Note : For RasPlex 0.6.0 and newer this script does not need to be installed, RasPlex 0.6.0 has this functionality already built-in.
    • Log on using PuTTY and create a script called shutdown.sh in the .config folder and copy and paste the following contents
      #!/bin/bash
      if [ "$1" != "reboot" ]; then
        GPIOpin=15
        GPIOpin1=14
        echo "$GPIOpin" > /sys/class/gpio/export
        # execute shutdown sequence on pin
        echo "out" > /sys/class/gpio/gpio$GPIOpin/direction
        echo "1" > /sys/class/gpio/gpio$GPIOpin/value
        usleep 125000
        echo "0" > /sys/class/gpio/gpio$GPIOpin/value
        usleep 200000
        echo "1" > /sys/class/gpio/gpio$GPIOpin/value
        usleep 400000
        echo "0" > /sys/class/gpio/gpio$GPIOpin/value
        # set GPIO 14 high to feedback shutdown to RemotePi Board
        # because the irswitch.sh has already been terminated
        echo "$GPIOpin1" > /sys/class/gpio/export
        echo "out" > /sys/class/gpio/gpio$GPIOpin1/direction
        echo "1" > /sys/class/gpio/gpio$GPIOpin1/value
        usleep 4000000
      fi
    • After saving the file, mark it as executable with
      chmod +x shutdown.sh
    • When you now select the 'Power off system' from the menu in OpenElec, LibreELEC or RasPlex, the RemotePi Board will cut the power after the system was shut down.
      Please note that the above script works only with newer versions of OpenElec (tested with 4.2.1 until 6.0.0), earlier versions of OpenElec did not wait for shutdown.sh to complete before halting.

OSMC and RetroPie

    • Log on using PuTTY and create a script called shutdown.sh in the folder /etc
    • sudo nano /etc/shutdown.sh
    • Copy and paste the following contents
    • #!/bin/bash
      REBOOT_GREP=$(systemctl list-units --type=target | grep reboot)
      SHUTDOWN_GREP=$(systemctl list-units --type=target | grep shutdown)
      if [ "$SHUTDOWN_GREP" ] && [ ! "$REBOOT_GREP" ]; then
        # the condition above makes sure, that the shutdown sequence is not run on reboot 
        GPIOpin=15
        GPIOpin1=14
        echo "$GPIOpin" > /sys/class/gpio/export
        echo "out" > /sys/class/gpio/gpio$GPIOpin/direction
        echo "1" > /sys/class/gpio/gpio$GPIOpin/value
        sleep 0.125
        echo "0" > /sys/class/gpio/gpio$GPIOpin/value
        sleep 0.2
        echo "1" > /sys/class/gpio/gpio$GPIOpin/value
        sleep 0.4
        echo "0" > /sys/class/gpio/gpio$GPIOpin/value
        echo "$GPIOpin1" > /sys/class/gpio/export
        echo "out" > /sys/class/gpio/gpio$GPIOpin1/direction
        echo "1" > /sys/class/gpio/gpio$GPIOpin1/value
        sleep 4
      fi
    • Press ctrl+x to exit, y to confirm, enter to save the file
    • After saving the file, mark it as executable with
      sudo chmod +x /etc/shutdown.sh
    • In OSMC it is not easily possible to run a script on shutdown, a service has to be created for this task :
    • Key in
      sudo nano /etc/systemd/system/irswitch.service
    • Copy and paste the following text into the editor window
      [Unit]
      Description=RemotePi Board Shutdown Service
      Before=multi-user.target
      Conflicts=shutdown.target
      [Service]
      ExecStart=/bin/true
      ExecStop=/etc/shutdown.sh
      Type=oneshot
      RemainAfterExit=yes
      [Install]
      WantedBy=multi-user.target
    • Press ctrl+x to exit, y to confirm, enter to save the file
    • Key in
      sudo systemctl enable irswitch.service
    • Reboot one time
    • When you now select 'Power', 'Power off system' from the menu in OSMC, the RemotePi Board will cut the power after the system was shut down.

 (thanks to Daniel G. for the OSMC shutdown by script, thanks to Fedro P. for confirming that this works on RetroPie)


Volumio

    • Log on using PuTTY and create a script called shutdown.sh in the folder /etc and copy and paste the following contents

      #!/bin/bash
      GPIOpin=15
      echo "$GPIOpin" > /sys/class/gpio/export
      # execute shutdown sequence on pin
      echo "out" > /sys/class/gpio/gpio$GPIOpin/direction
      echo "1" > /sys/class/gpio/gpio$GPIOpin/value
      #usleep 125000
      sleep 0.125
      echo "0" > /sys/class/gpio/gpio$GPIOpin/value
      #usleep 200000
      sleep 0.2
      echo "1" > /sys/class/gpio/gpio$GPIOpin/value
      #usleep 400000
      sleep 0.4
      echo "0" > /sys/class/gpio/gpio$GPIOpin/value

    • After saving the file, mark it as executable with
      chmod +x /etc/shutdown.sh
    • Edit the file player_wrk.php located in /var/www/command/ with
      nano /var/www/command/player_wrk.php
    • Find at or near line 359 the text $cmd = 'mpc stop && poweroff'; and change it to $cmd = '/etc/shutdown.sh';
    • When you now select Menu, Turn off, Power off from the UI in Volumio, the RemotePi Board will cut the power after the system was shut down.  

 (thanks to Michael H. from Germany for the Volumio shutdown by script)


RuneAudio

    • Log on using PuTTY and create a script called shutdown.sh in the folder /etc and copy and paste the following contents

      #!/bin/bash
      GPIOpin=15
      echo "$GPIOpin" > /sys/class/gpio/export
      # execute shutdown sequence on pin
      echo "out" > /sys/class/gpio/gpio$GPIOpin/direction
      echo "1" > /sys/class/gpio/gpio$GPIOpin/value
      sleep 0.125
      echo "0" > /sys/class/gpio/gpio$GPIOpin/value
      sleep 0.2
      echo "1" > /sys/class/gpio/gpio$GPIOpin/value
      sleep 0.4
      echo "0" > /sys/class/gpio/gpio$GPIOpin/value

    • After saving the file, mark it as executable with
      chmod +x /etc/shutdown.sh
    • Edit the file rune_SY_wrk located in /var/www/command/ with
      nano /var/www/command/rune_SY_wrk
    • Find at or near line 600 the text sysCmdAsync(‘poweroff'); and change it to sysCmdAsync(‘/etc/shutdown.sh’);
    • When you now select Menu, Turn off, Power off from the web-UI in RuneAudio, the RemotePi Board will cut the power after the system was shut down.  

 (thanks to Guy B. from the UK for the RuneAudio shutdown by script)


RemotePi Board and HiFiBerry

The HiFiBerry are sound add-on boards that bring high-quality sound to the Raspberry Pi. To make the RemotePi Board work with the HiFiBerry boards, the default GPIO port for the IR receiver on the RemotePi Board has to be changed. As a default, the RemotePi Board is using GPIO 18 for the infrared signal, which is also the default for LIRC on most media center distributions. But as the HiFiBerry uses GPIO 18 already, the GPIO port for the IR receiver of the RemotePi Board has to be changed to GPIO 17, if both boards are to be used together.

To connect both the RemotePi Board and the HiFiBerry to the Raspberry Pi, there will also be some adapter required. One option is to use our ribbon cable GPIO adapter, another option would be to solder a 12 pin (or full 40 pin) male GPIO connector on top of the HiFiBerry.

Changing the GPIO port for the RemotePi Board IR Receiver from 18 to 17

To do this, a hardware change is necessary, some soldering is required. The procedure is slightly different, depending on the hardware version of the RemotePi Board (The hardware version is printed on the side of the RemotePi Board that houses the components).

Please note that only the RemotePi Board for Pi 3 and the RemotePi Board for Pi 2 and B+ can be modified in this way.

For PCB hardware revision 1.4

In the upper left corner of the RemotePi Board, on the side without the components, the copper trace leading to GPIO 18 needs to be interrupted with a knife or cutter. Then a small cable needs to be soldered on GPIO 17 and the via, for this the green solder mask over the via has to be scratched off. The small cable should be isolated so that it does not have contact with the underlying ground layer. Please refer to the pictures below.

 Before :
After :

For PCB hardware revision 1.6 and 1.8

The newer hardware revision 1.6 of the RemotePi Board makes the process a bit easier. The copper trace leading to GPIO 18 still has to be interrupted. Then the two normally open pads need to be soldered together, this will connect GPIO 17 to the internal components. Please refer to the pictures below.

 Before :
After:


If you require this hardware change when you order, please inform us in the order notes, we will then send you a RemotePi Board with this modification already applied.

After the hardware has been modified, the Raspberry Pi OS need to be configured to use GPIO 17 instead of GPIO 18 for LIRC. In most modern OS distributions (tested in OpenElec and Volumio) this should be achieved by editing the config.txt in the root of the SD card and changing the line
dtoverlay=lirc-rpi
To
dtoverlay=lirc-rpi,gpio_in_pin=17

 

Firmware upgrade

The RemotePi Board for Pi 3, Pi 2 and B+ and the RemotePi Board for Pi Model B support user-upgradable firmware (The firmware is the same for the RemotePi Board for Pi 3, Pi 2 and B+ and the RemotePi Board for Pi Model B). This means that the application running on the microcontroller of the RemotePi Board which is handling the IR signal decoding and controls the power of the Raspberry Pi can be replaced with a (usually) newer version, allowing for new features and bugfixes. To achieve this, the RemotePi Board includes a factory-programmed boot loader which handles the upload of the new firmware. The process principle is similar to the firmware upgrade of a smartphone.

The firmware is uploaded to the RemotePi Board using a serial link to the Raspberry Pi, an application downloaded to the Raspberry Pi is controlling and verifying the upgrade process.

The advantage of allowing for firmware upgrades is that you can always enjoy the newest features, protecting your investment in the RemotePi Board.

Click here to go to the firmware upgrade page

 

Configuration tool

The configuration tool is a command-line application provided to configure and customize several aspects of the RemotePi Board. You can, for example, adjust the brightness of the power-on LED or set a power-on timer.

Click here to go to the configuration tool page

 

Please let us know about any features you would like to have added, if these are technically possible and useful we will include them in new firmware releases and make them available here for all RemotePi Board users !

  

 

Back to the product page of RemotePi Board for Pi Model B

Back to the product page of RemotePi Board for Pi 2 and B+

Back to the product page of RemotePi Board for Pi 3

 

This page was last updated 13-Nov-2016