I found myself in need of access to files on my home desktop every so often and additionally sometimes wanting the computing power that the desktop has and my laptop doesn't. Instead of solving this in a sensible manner, I wanted to build a device that would help me boot up my desktop remotely.
The basic idea is that the device acts in the same role as the PC's power button does: if it closes the specific circuit on the motherboard, the computer starts (or shuts down). Physically closing and opening the circuit is done by a relay. The device needs only two functions: 'close the circuit for 1s, then open it' and the same for 5 seconds to have the option for force shutdown.
The relay is controlled by an Arduino MKR1000, which acts as a server. As a server, it's simple to control remotely via the internet. I wrote a simple React Native application that calls the server API.
I designed a case for the device with Fusion 360 and 3D printed it.
