Tag Archives: remotepi

RemotePi: An Intelligent Infrared Remote Controlled Power Switch for the Raspberry Pi

When you have built a mediacenter system using the tiny single board computer, the Raspberry Pi or the RBPi, there is usually a hand-held infrared remote to manipulate the various controls. However, using the remote to switch off/on the mediacenter system does not switch the RBPi. Adding a RemotePi board lets you switch on/off the power of the RBPi safely with the remote or a push button.
There are two versions of the RemotePi board – one that fits the RBPi Models A+ or B+, and another that fits RBPi Models A or B. Although electrically similar, RBPi Models A+/B+ are different from Models A/B – the mounting holes and connectors are differently placed. Therefore, you must select the RemotePi board to fit your current RBPi model.

Additionally, the RemotePi board comes in two variants. The first has the IR receiver and LED integrated on it, while the second variant sports an external IR receiver and LED connected by a cable. The second variant is useful when you want to mount the RBPi and RemotePi out of sight, leaving only the IR receiver and LED visible for the users.

The RemotePi works by re-routing the power to the RBPi, instead of feeding it directly. On the board, a micro-controller manages the power line to the RBPi. Depending on the command received from the push button on the board or the infrared remote control, the micro-controller switches power on or off for the RBPi.

However, when switching off the power to the RBPi, RemotePi does not cut off the power immediately. Instead, it sends a notification to the RBPi via a signal on its GPIO port. The RBPi monitors this signal on the GPIO port continuously via a script running in the background. Once triggered, the script initiates a clean shutdown of the OS and thereby, prevents data corruption. Once the shutdown is successful, RemotePi then proceeds to cut off the power completely to the RBPi.

When the RemotePi has to switch power to the RBPi from an infrared remote control, you must teach the unit to recognize the type and button preferred. For this, you let the RemotePi enter a learning mode and then point your remote control towards the infrared receiver on the board. Now press the preferred button on the remote you would like to use in future to control power to the RBPi and the RemotePi will remember the button. For using a different remote or button, simply repeat the process.

Another feature of the RemotePi is that you can teach it to use one button to power off the RBPi and use another to switch the power back on. Apart from controlling power, the RemotePi board will forward any received infrared signal to the RBPi. Therefore, you can use the remote control for the mediacenter as well as use LIRC for the RBPi.

RemotePi prevents data corruption on the RBPi with sudden power outages. Additionally, you can reboot the RBPi to clear memory leaks or for automatic updates. It does not occupy a USB port and is totally compatible with the simple GPIO IR receiver.