Gnat-Stats, Tiny OLED PC Performance Monitor

Arduino OLED PC Performance Monitor with Client software based on Psyrax's project

Similar projects worth following
Gnat-Stats, Tiny OLED PC Performance Monitor.

After a recent purchase of a Nvidia GTX1080 graphics card, 4k monitor, plus Doom(2016), I thought it would be great to see some external telemetry..

I then Stumbled upon Psyrax's Hackaday.IO project.

Armed with an Arduino ProMicro and a 128x64 pixel OLED display, I compiled the source code.

The GnatStats Hardware Serial Monitor Visual Studio application is based around Psyrax's "SerialSender" Application , yet heavily modified by Colin Conway.

(Auto Reconnect, CPU/GPU Hardware Name ID's, Frequencies, Serial activity display timeout)

x-zip-compressed - 1.46 MB - 02/06/2018 at 22:39


x-zip-compressed - 1.45 MB - 02/03/2017 at 22:31


  • 1 × Arduino ProMicro
  • 1 × SSD1306 or SH1106 OLED Display

  • 1
    Step 1

    Gnatstats Tiny OLED PC performance monitor

    by Rupert Hirst and Colin Conway

    The HardwareSerialMonitor application uses the open source OpenHardwareMonitorLib.dll to sniff the sensors of most modern PC graphics, CPU and motherboards whilst, also pooling windows hardware stats.

    Part of Psyrax's original arduino sketch, is a "anti screen burn" feature. This feature, inverts the screen background (black - white), after a preset time, to give even wear to the OLED display. This feature has been extended to totally turn off the OLED screen when no serial data is available, such as PC power down.

    I wanted to keep the overall footprint as small as possible. The i2C pins on the ProMicro reside on D2(SDA) and D3(SCL). The displays i2c pins lined up but, obviously the power pins would be a problem.

    After measuring a current of 18.6mA on a fully lit OLED display, I decided to pull pin D5 High(5v) and D4 Low(to ground) on the ProMicro to providing the necessary VCC / GND for the display.



    ProMicro Pins: D5(HIGH) D4(LOW) D3 D2


    18mA is within the Atmel 32u4 maximum pin current limit of 20mA. This allowed the display to be simply soldered straight to the header of the ProMicro.

    The HardwareSerialMonitor application is based of Psyrax's original source code and heavily modified by Colin Conway to include additional hardware stats.

View all instructions

Enjoy this project?



B-Gits wrote 04/27/2018 at 00:40 point

Hi Rupert,
whats the pw for the ryzen zip file? I do have a ryzen and i am not able to get my temps displayed on my oled thingy.


  Are you sure? yes | no

Diegomud wrote 04/12/2018 at 17:41 point

The project is excellent, but I have a problem, I have a screen nextion 2.4 '' 320x240, will it be possible to implement it without changing the code?

  Are you sure? yes | no

daniel_geiger wrote 01/09/2018 at 12:15 point

Can you add support for temperatures on Intel Coffee Lake? (i7-8700k w/ asus strix z370-e) Would be nice

  Are you sure? yes | no

Rupert Hirst wrote 02/05/2018 at 16:45 point

Some one needs to add the support on the Open Hardaware Monitor github then I can compile it

  Are you sure? yes | no

c wrote 12/30/2017 at 15:58 point

Please could you add support for temperatures on AMD Ryzen (particularly the r5 1600 on the asus prime b350-plus)?

 I've tried compiling and, both of which have ryzen support and looking through the source code but I can't spot a problem and neither works.

  Are you sure? yes | no

Rupert Hirst wrote 02/05/2018 at 16:47 point

i managed to compile Kraust's Fork here

Added Ryzen Temperature Support (Off the Chip, not the Motherboard)

If you want to test the compiled DLL for Ryzen send me a PM with your email address

  Are you sure? yes | no

Hari Wiguna wrote 06/05/2017 at 12:53 point

Rupert, that's a crapton of info you packed into 64 pixel tall display! Fantastic!
PS: Thanks for following my Giant RGB LED Cube project!

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates