PC Performance Stats Display using Arduino
I really wanted to have some kind of stats screen on my new gaming PC build which can be found here. However most of the instruction were found used an extra screen that connected via HDMI and required me to cut a hole in my case which I wasn’t willing to do.
Then I found this excellent project from Rupert Hirst which used an Arduino and a tiny OLED screen and that seemed perfect for me. However the stats that it displayed were using an old version of Open Hardware Monitor so I ended up rewriting the program that runs on PC using Libre Hardware Monitor. However, the CPU temp on that was not that accurate for AMD machines. Also, I wanted to display stats like my water temperature as well so I ended up integrating the program with HWInfo as well which works very well. This is connected to motherboard via an internal USB header and doesn’t need any other connection. Here are a few pictures of it running.
Given below are instructions to replicate it for yourself if youa are interested.
Instructions #
Hardware used #
- Arduino Leonardo/ProMicro
- SSD1305 0.96 inch OLED I2C module
- 9 pin header to USB cable for motherboard
- USB type A to micro USB cable
- 3D printed housing for the screen
- Soldering iron and writes etc to connect screen and the arduino
Software used #
- Arduino IDE
- Pikku Stats - Arduino code that’s running on the Leonardo
- Wee Hardware Stat Server - Service that needs to be installed to output stats to the arduino
Steps #
- Connect the hardware using the hookup diagram and instructions given in the Pikku Stats project. There is also a hookup guide that helps you solder the right wires.
- Open the Pikku Stats code in Arduino IDE upload it to Leonardo
- Install the Wee Hardware Stat Server using the instructions on the Gitlab Project. Note that you don’t really need the code for this one as binaries can be dowloaded from the release page. Once it is up and running and correctly configured with the COM port of Lenardo, it should start displaying the stats.
- Feel free to modify the Pikku Stats code to display whatever you like.
- Finally you can use the Dupont 9 pin cable to connect a USB cable internally to the motherboard to power and send data to Arduino and mount it in a 3D Printed case like the one I linked above.
These instructions are very barebones so feel free to ask me any questions in case you are stuck anywhere while trying to do this.