Small Linux boards, like the Raspberry Pi boards (from now onwards refered as Raspi), are frequently used as low power consumption servers for home applications on the DIY community.
Usually these boards (e.g., the Raspi) are allways on, working 24/7 and without a monitor and keyboard directly connected to it. The administrator interacts with the system using a remote ssh connection.
The challenge comes when something goes wrong with the system that affects the connectivity to it (the network access) and the administrator loses the channel to be able to sort it out.
When this happens typically one of two options is used:The second option is the most used. But doing a hard-shutdown is less than ideal as some nasty things may happen to your data integrity, the running applications or even the filesystem.
To address this challenge we developed YKRUD board.
YKRUD enables you to trigger a soft-shutdown of the operating system just by pressing a push button. Also it can act as a power-up switch if the board is powered down.
Despite being developed to be used with the Raspi, it can be used with any Linux board (or other operating system) as long as there is available I/O's terminal with 3V logic levels and the communication (negotiation) signaling protocol is used as described in the documentation.
YKRUD acts like a smart switch placed between the 5 Volt power supply and the Raspi.
While in the Off state, if the user presses the YKRUD push button the switch will turn the power On in the 5 Volt output terminal that connects to the Raspi, which will power-up and initiate the boot process if a Linux image is installed in the Raspi SD card.
In the other scenario where YKRUD is in the ON state and Raspi is On, if the user presses the push button a signaling protocol will be executed to instruct the script running in the Raspi to initiate the system shutdown safely. Once the Raspi operating system has shutdown, YKRUD will disconnect the power output to the Raspi, effectively powering it off.
YKRUD was designed specifically for use with Raspberry Pi boards. Nonetheless it can be used with other Linux boards. In fact, it can be used with any board (Linux or other operating system) as long as the negotiation protocol is used as defined in the YKRUD documentation.