Small Linux boards, like the Raspberry Pi boards (from now onward referred 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: 1) Connect a keyboard and monitor/display to it and try to solve the problem (like doing a reboot); or 2) Unplug the power supply to do a hard-shutdown and plug the power again to boot it. The first option is quite cumbersome and the second by 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 YKRUD2 board.
YKRUD2 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.
YKRUD2 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 YKRUD2 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.
When YKRUD2 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, YKRUD2 will disconnect the power output to the RasPi, effectively powering it off.
Reference Code: 300113