Crypto Miner is a companion system that runs alongside your cryptocurrency mining rig. The system allows you to monitor the temperatures of your hardware, hashing rate and also gives you the ability to reset the power supply on the rig. All these features are integrated with Alexa for voice interaction.
The temperatures are monitored using an Arduino MKR1000 with five temperature probes. This setup runs a sketch that posts the readings of each probe to a local server running on a raspberry pi.
I have an Express web server running on the pi which receives readings from the sensors and saves them to a RethinkDB instance. The web server acts as an API to provide data to the Alexa skill for voice interface. The user may also visit a dashboard running on the pi that is also exposed.
The dashboard provides the user with their rig information like name and current hash rate. It also provides a real time graph of the latest readings.
The user can click through on any of the readings to see the full history for each of the temperatures.
The user can also click through on the hash rate to see hash rate history as well.
This hardware has a companion Alexa skill called Crypto Miner. You can use Crypto Miner to get your rigs current hash rate and temperatures.
Alexa, ask Crypto Miner, what is the hash rate of Gill?
Where Gill is the name of your mining rig.
You can also ask for temperatures based on name.
Alexa, ask Crypto Miner, what is the temperature of the radiator?
Alexa, ask Crypto Miner, what is the temperature of the video cards?
Alexa, ask Crypto Miner, what is the temperature of the case?
You may also restart the rig by name.
Alexa, ask Crypto Miner to reset rig Gill.
I'm using the Arduino MKR1000 to post all the sensor data to the Raspberry Pi which saves the readings to a RethinkDB instance. I have an Alexa skill running on the AWS lambda service that Alexa will use to request data from the mining rigs. The skill sends a call to the Pi and it returns the latest readings or hash rates. The Pi also acts as a web server to deliver a dashboard with a web socket connection to keep the data streaming in.
My mining rig consists of two water cooled 290x GPUs which are currently mining Ethereum. I have a temperature probe taped to the backplate of each of the graphics cards, one near the PSU inside the case, one on the exhaust of the radiator and one probe for room temperature. The probes are all wired directly to the same pin on the MKR1000 and use OneWire protocol.
One of the most important aspects of mining is uptime. You always want your rig mining at full throttle. Crypto Miner can you help make sure you always know when your miner is not performing optimally and you can take action.
The system has a relay connected to PS-On pin of the ATX power supply. This pin must be kept low for the power supply to be powered on. In the event that the mining rig GPUs drop below a certain temperature, I know one of the cards is not longer mining and I can reset the system by pulling that pin high with the relay. This will shut down the system and then I can pull the pin back low to restart the machine. The rig has an autostart policy so it will just start mining on boot.
This system is designed to be expandable by adding more MKR1000s with the desired temperature probes for each additional rig. This system could provide data from multiple rigs even if they are distributed across the globe. Each device would just need internet which is already necessary for the mining rigs to function properly.