Close
0%
0%

Phat-Stats PC Performance TFT Display

Arduino TFT PC Performance Monitor with Client software

Similar projects worth following
Phat-Stats ili9341 TFT PC Performance Monitor Display

Gnat-Stats (OLED) has moved to a new project page here

PhatStats (TFT) form an Arduino serial display. HardwareSerialMonitor is a PC serial client, both are written by Rupert Hirst and Colin Conway.

HardwareSerialMonitor Windows client reads the hardware statistics from the PC.

This data is forwarded over the hosts’ serial  port to an Arduino compatible micro processor. It is then, displayed using the Phat-Stats sketch.

This project, assumes you have a above average experience with Arduino, the IDE and the compatible boards available.

The HardwareSerialMonitor was designed for dedicated GPU's . Your mileage may vary with Integrated Graphics

To help with construction there are hook up guides, links below:

Phat-Stats ILI9341 TFT Display Hook up Guide

Going Forward:

The project needs to be ported over to LibreHardwareMonitor , a fork of OpenHardwareMonitor  for future support, as this gets a lot more updates for new PC hardware. If anyone can help please get in touch, thanks.

http://tallmanlabs.com

http://runawaybrainz.blogspot.com/

https://github.com/koogar/HardwareSerialMonitor

https://github.com/koogar/Gnat-Stats

The above software/code is licensed under the following terms: 

--------------------------------------------------------------------------------------------

GPL v2

Gnat-Stats, Phat-Stats & Hardware Serial Monitor Copyright (C) 2016 Colin Conway, Rupert Hirst and contributors

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; If not, see http://www.gnu.org/licenses/.

HardwareSerialMonitor only was inspired by Psyrax's "SerialSender". Psyrax is given attribution and thanks, by being an honorary member of the project.

x-zip-compressed - 1.38 MB - 04/30/2021 at 15:39

Download

x-zip-compressed - 1.38 MB - 04/30/2021 at 15:39

Download

PhatStats_TFT_ATSAMD_QT-PY_V2.0.7.zip

V2.0.7 Fix CPU & GPU Overclock gains "-+" bug

x-zip-compressed - 232.08 kB - 07/21/2021 at 13:50

Download

PhatStats_TFT_ESP32_BT_V2.0.7.zip

V2.0.7 Fix: CPU & GPU Overclock gains "-+" bug Still to Fix : Dual Event (USB and BT) needs fixing

x-zip-compressed - 154.66 kB - 07/21/2021 at 13:50

Download

PhatStats_TFT_STM32F1_V1.6.5.9.2.zip

Fix CPU & GPU Overclock gains "-+" bug

x-zip-compressed - 795.31 kB - 07/21/2021 at 13:50

Download

  • 1 × Arduino Leonardo/ ProMicro / STM32F1 / ATSAMD21 / ESP32
  • 1 × SSD1306 0.96" i2C OLED or ILI9341 2.2, 2.4, 2.8, 3.2" TFT SPi Display
  • 5 × Arduino Experience

  • Phat-Tacho ILI9341 2.8" TFT Enclosure Prototype

    Rupert Hirst08/03/2021 at 15:11 0 comments

    Phat-Tacho Gauge Style Clip on Facia

    Additional Facias:

  • Phat-Stats ILI9341 2.8" TFT Enclosure Prototype

    Rupert Hirst07/31/2021 at 20:07 0 comments

    Phat-Stats  ILI9341 2.8" TFT Enclosure Prototype

    Rear view  MCU "sight glass"

     Bottom USB C input, so the cable can lay in any position.

  • Phat-Stats Slim USB Concept Case

    Rupert Hirst06/16/2021 at 15:02 0 comments

  • Phat-Tacho Bluetooth Concept Case with new DisplayStyle

    Rupert Hirst05/27/2021 at 23:04 1 comment

    Phat-Tacho Bluetooth Concept Case with new DisplayStyle

  • Gnat-Stats (OLED) & Phat-Stats (TFT) Hook Up Guides

    Rupert Hirst03/11/2021 at 23:32 0 comments

    *Hook up guides for Gnat-Stats(SSD1306 OLED) and Phat-Stats(ILI9341 TFT) 

    *for supported Micro Controllers.

    Phat-Stats Hook Up Guide
    Phat-Stats Hook Up Guide
    Gnat-Stats Hook Up Guide
    Gnat-Stats Hook Up Guide

  • Phat-Stats ​TFT V1.6.3 ATSAMD21

    Rupert Hirst01/06/2021 at 17:23 1 comment

    Phat-Stats TFT V1.6.3 ATSAMD21

    (requires HardwareSerialMonitor 1.3 Upwards)

    Minimize blinking on screen data value changes and screen refresh.

     CPU Turbo or GPU Boost Mode frequency gains. (eg: +895MHz) or gain %

    Show when CPU or GPU is Throttling (Hit Thermal Junction Max temp)

    Show when CPU or GPU Turbo or Boost Mode is active.

    Add rotary encoder for PWM screen brightness.

  • Run on Startup Win10

    Rupert Hirst06/15/2020 at 22:21 0 comments

    Due to the Windows 10 not allowing programs to run on startup as admin, here is a workaround script.
    -----------------------------------------------------------------------------------------------------------------------

    1)  Right-click on the HardwareSerialMonitor.exe , go to properties, then compatibility and check "Run as Administrator"

    2)  Create the VBScript using a text editor (I used Notepad)

      Set WshShell = CreateObject("WScript.Shell" ) 
      WshShell.Run chr(34) & "C:\Program Files (x86)\HardwareSerialMonitor\HardwareSerialMonitor.exe" & Chr(34), 0 
      Set WshShell = Nothing
       

    (The above path is an example, edit this to where your HardwareSerialMonitor.exe path is located)

    Save the script as "HardwareSerialMonitor.vbs" (no quotes)

    Note: Make sure to save it as a .vbs not .txt
          

    3)  Now place the HardwareSerialMonitor.vbs in the HardwareSerialMonitor folder:

    4)  Goto the Windows startup folder

    %AppData%\Microsoft\Windows\Start Menu\Programs\Startup, alternatively access it by Win+R ⇒ shell:startup ⇒ Enter

    Create a shortcut to the .vbs script above by right clicking then "New" ⇒ "Shortcut" ⇒ "Browse" for the "HardwareSerialMonitor.vbs" Script and select it.

    HardwareSerialMonitor Should now run on startup
    -----------------------------------------------------------------------------------------------------------------------

View all 7 project logs

  • 1
    Step 1
    • Gnatstats Tiny OLED PC performance monitor  &  HardwareSerialMonitor  Windows Client  

    by Rupert Hirst and Colin Conway

    This project, assumes you have above average experience with Arduino, the IDE, compatible boards available and other related hardware.

    ___________________________

    Project principles:

    The HardwareSerialMonitor application  detects the sensors of most modern PC graphics, CPU and motherboards whilst, also pooling windows hardware stats.

    This data is then sent over a serial com port to an Arduino Microcontroller running the GnatStats Sketch and displayed on the OLED/TFT display.

    ___________________________

    Compatible boards:

    •    ProMicro   (Atmel ATMega 32u4) (Gnat-Stats)   Note: supports Neopixels
    •    QT-PY / XIAO Atmel ATSAMD21  (Phat-Stats)    Note: supports Neopixels
    •     BluePill   Ti STM32F103C8   (Phat-Stats)   Note: Does not support Neopixels!!!
    •     ESP32 LoLin32 / Lite / D32  (Phat-Stats)   Note: supports Neopixels

           ATMega 32u4 boards are more suited to (OLED) GnatStats .  They do not have the required memory for (TFT) PhatStats.

    ___________________________

    Compatible Screens:

    • OLED :  SSD1306 (i2c) or SH1106 (i2c)  128x64 Pixels  (SH1106 is not supported on the ATSAMD21 due to library restrictions)

    Note: SH1106 are usually  screens over 0.96" but not limited to. The (GND/ VCC) pin out order is different, although, more recent versions have the same pin order as the SSD1306 (VCC/GND), buyer beware!!!

    •  TFT    :  Red PCB ILI9341 (SPi) 320x240 Pixels 

    Library and MCU core links are included within the Arduino sketch.

    ___________________________

    Notes:

    •               Plug the Arduino into a dedicated USB Port, try avoid using a USB hub. Timings can be critical to avoid garbled or corrupted screen info
    •               HardwareSerialMonitor was designed for dedicated GPU's . Your mileage will vary with Integrated Graphics

    ___________________________

    Guides:

    technopat.net: Making an External Temperature Gauge

    technopat.net: Additional Tiny Performance Monitor for a Computer

    Technopat YouTube (Turkish)

    TallmanLabs: Phat-Stats ILI9341 TFT Display Hook up Guide

    TallmanLabs: Gnat-Stats SSD1306 OLED Display Hook up Guide

    ___________________________

    Limitations:

                         My coding ability...     eg: There is no CPU fan support, the CPU fan is a motherboard fan. It requires a motherboard chip to be detected, and the correct fan sensor.

    I can only test the hardware I own. Overall it has worked with everything I have tried.

    HardwareSerialMonitor and the way some things have to be detected.  See (4) as it relies on the "OpenHardwareMonitorLib.dll"

    OpenHardwareMonitor updates are few and far between. 

    Going forward:

                               Some PC hardware support for certain CPU / GPU's is lacking, particularly certain Ryzen CPU's.

    HardwareSerialMonitor needs to be ported from the OpenHardwareMonitorLib.dll to the LibreHardwareMonitorLib.dll (open source) as this has more features such as network /ethernet and receives updates on a more frequent basis.

    My time is limited, if you can help with this please get in touch, thanks.

View all instructions

Enjoy this project?

Share

Discussions

valentin-bykov-1990 wrote 10/15/2018 at 12:48 point

led is circuit module RGB?

  Are you sure? yes | no

Rupert Hirst wrote 10/16/2018 at 09:41 point

Its a NeoPixel ring with a custom cut overlay.  i would have posted more pics but hackadayio has a limit of 6 pictures.

  Are you sure? yes | no

valentin-bykov-1990 wrote 10/16/2018 at 11:03 point

and on what contacts deduced? amazing thing happened))

  Are you sure? yes | no

Rupert Hirst wrote 10/16/2018 at 10:22 point

Glad to see Gnatstats/HardwareSerialMonitor detects your 8700k Coffee Lake

https://www.youtube.com/watch?v=8u8uStfVLHc

  Are you sure? yes | no

Rupert Hirst wrote 10/16/2018 at 11:36 point

I saw your CPU on the OLED display on Thingiverse ;)

If you are the same person as below 

valentin wrote 09/18/2018 at 20:41

I realized a shell in 3D printing from this project:

https://www.thingiverse.com/thing:3107543 "

But maybe i am wrong

  Are you sure? yes | no

valentin-bykov-1990 wrote 10/16/2018 at 11:38 point

this is not me)

  Are you sure? yes | no

valentin wrote 10/19/2018 at 13:18 point

it's me ;)

  Are you sure? yes | no

kot0005 wrote 10/12/2018 at 23:31 point

Hi, Thanks for this Project. I am newbie using Arduino, So which one of the libraries do I use ?  I used all of them and when I upload it works but my oled screen doesnt light up. I made sure the pins outs are right.

  Are you sure? yes | no

Rupert Hirst wrote 10/16/2018 at 09:46 point

You have to use all of the libraries mentioned.

You have to uncomment  one of the lines for the perticular OLED display you are using...

//#define OLED_SSD1306
#define OLED_SH1106

or 

#define OLED_SSD1306
//#define OLED_SH1106

If your using a display with a ProMicro on the back as per the pictures 

you will need to uncomment

 //#define enablepowerPins

And uncomment the one below it in the sketch for you perticular screens power requirements.

check you have the correct polarity for the selected OLED screen!!!

Also make sure you i2c address correct in the sketch

  Are you sure? yes | no

valentin-bykov-1990 wrote 10/12/2018 at 03:46 point

for itself decided to use this holder(his own and can convert it) https://ru.aliexpress.com/item/128X64-0-96-O/32871594368.html?spm=a2g0s.9042311.0.0.7a2833edrKLWbw

  Are you sure? yes | no

valentin-bykov-1990 wrote 10/09/2018 at 14:29 point

Hello, very cool project, I would like to ask the question, is it Possible to add a second physical display with the output of information about the state of RAM and paging file?

  Are you sure? yes | no

Rupert Hirst wrote 10/09/2018 at 18:06 point

Yes it is possible but not with the present library. U8GLIB supports multiple screens, It would mean a extensive rewrite of the code.  I am not sure if open hardware monitor supports displaying the page file. 

  Are you sure? yes | no

valentin-bykov-1990 wrote 10/09/2018 at 18:38 point

it's sad, because I was ready to order two displays ((by the way there is an idea about the front panel for the case, if you make it out of black Plexiglas,the display will Shine through and off will also be nice. and please sorry, i use google translate))

  Are you sure? yes | no

Rupert Hirst wrote 10/11/2018 at 12:28 point

I  am working on a enclosure for a variant of GnatStats at the moment :)

  Are you sure? yes | no

Rupert Hirst wrote 10/08/2018 at 23:44 point

GnatStats Release v1.3

Version 1.3: 

Option to trigger an event at a given CPU or GPU threshold eg: LED indicator at 100% CPU Load. 

Top Config option to disable all pre-selected power/gnd pins on Arduino pins D4 and D5 when not powering OLED from ProMicro 

Top Config option to disable/enable "activitychecker" (Enable blank screen on serial timeout eg: PC powered down, Disable to retain last sampled info eg: PC crash or overclocking diagnostics)

NeoPixel Ring CPU/GPU Bargraph example

  Are you sure? yes | no

Rupert Hirst wrote 09/18/2018 at 21:06 point

Thats really great Valentin. I will be sure to link it in the next update :)

  Are you sure? yes | no

valentin wrote 09/18/2018 at 20:41 point

I realized a shell in 3D printing from this project:

https://www.thingiverse.com/thing:3107543

  Are you sure? yes | no

valentin wrote 09/07/2018 at 19:13 point

Hello, I started in the Arduino the screen works very well but I wanted to make sure that to change screen (D1 D2 and D3) you have to press a button. I have no resistance, so I want to put the button in INPUT_PULLUP. But I have a lot of difficulty. Can someone help me and send me the file?

  Are you sure? yes | no

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.

Regards!

  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

Rupert Hirst wrote 10/09/2018 at 18:07 point

Nope

  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 https://github.com/openhardwaremonitor/openhardwaremonitor/pull/970 and https://github.com/LibreHardwareMonitor/LibreHardwareMonitor, 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  0.8.1.0

https://github.com/Kraust/openhardwaremonitor

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

Tomas wrote 08/17/2018 at 00:44 point

please send me the ryzen compiled DLL, I have been working on this and I cant make the cpu core speed or the cpu temperature work..

  Are you sure? yes | no

amigof wrote 06/04/2019 at 19:36 point

Please send me ryzen DLL!

amigofs@gmail.com

Thanx!

  Are you sure? yes | no

Rupert Hirst wrote 10/09/2018 at 18:09 point

Ryzen support seems an ongoing issue with all forms of open hardware monitor.

  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