Close
0%
0%

PhatStats PC Performance TFT Display

Arduino TFT PC Performance Monitor with Client software

Similar projects worth following
PhatStats ili9341 TFT PC Performance Monitor Display

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

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

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

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

GPL v3

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.

WeeStatServer-0.5.2_Libre.0.9.3-pre256_Binary.zip

Alternative to HardwareSerialMonitor but uses LibreHardwareMonitor libraries. Requires .net6

x-zip-compressed - 3.96 MB - 10/06/2023 at 15:16

Download

HardwareSerialMonitor_v1.4.4_9600_OHM.0.9.6.1.PR_NET4.8_Binary.zip

added experimental Intel Jasper Lake Support added experimental Intel Rocket Lake Support added experimental Intel AlderLake support added Alde Lake Mobile support added Intel RaptorLake support Boris Vogel https://github.com/BrsVgl/openhardwaremonitor

x-zip-compressed - 1.46 MB - 09/22/2023 at 11:57

Download

x-zip-compressed - 171.34 kB - 06/20/2023 at 00:27

Download

x-zip-compressed - 272.40 kB - 06/20/2023 at 00:24

Download

TachoStats_V3.1.7.1_SeeedRoundDisplay.zip

https://www.seeedstudio.com/Seeed-Studio-Round-Display-for-XIAO-p-5638.html Seeed Studio Round Display for XIAO - 1.28-inch round touch screen, 240×240 resolution

x-zip-compressed - 180.38 kB - 06/20/2023 at 00:07

Download

View all 11 files

View all 8 project logs

View all instructions

Enjoy this project?

Share

Discussions

wivope7038 wrote 06/26/2021 at 18:44 point

Sorry there was no replay bottom so I send new one here

you asked "Whats the screen brightness like when you connect it straight to 3.3v?"

It's great when connected straight to 3.3v but when I connect it to the pin 4 it's very dim

No I don't use any resistor

  Are you sure? yes | no

Rupert Hirst wrote 06/26/2021 at 20:21 point

Yes replying on Hackaday is awful !!!

  ESP32 analogueWrite Function
  https://github.com/ERROPiX/ESP32_AnalogWrite

you the above library installed?

because you can not set brightness without it!!!

  Are you sure? yes | no

wivope7038 wrote 06/26/2021 at 21:23 point

Thanks man it worked, I had two ESP32 AnalogWrite library (ESP32_AnalogWrite)and(ESP32_ESP32S2_AnalogWrite) after I delete both of them and add the one you send I was able to change the brightness and it was bright enough.

Thanks again

  Are you sure? yes | no

wivope7038 wrote 06/24/2021 at 11:11 point

Hey man, There is no "TML_ErriezRotaryFullStep.h" file in PhatStats_TFT_ESP32_BT_Experimental_V2.0.2.2 but there is "#include <TML_ErriezRotaryFullStep.h>" in the code.

also I decommented the Encoder_PWM2 but still I can't change the brightness with encoder and the screen brightness is too low almost unreadable.
How can I be able to change info which are shown on the screen manually? like the CPU and GPU logo or other texts? because I'm having AMD FX 6300 and R9 290 but some informations are missing.
Thanks for the great hack

  Are you sure? yes | no

Rupert Hirst wrote 06/24/2021 at 15:39 point

Taken from the documentation in the code!!!

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

  Rotary encoder
  https://github.com/koogar/ErriezRotaryEncoderFullStep

you can not change the brightness on the encoder without it OFC.

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

/* Uncomment your CPU,*/
//#define AMD_CPU
#define INTEL_CPU
/* Uncomment your GPU,*/
#define NVIDIA_GRAPHICS
//#define AMD_GRAPHICS

//>>>>>>>>>>>>>>>>>>>>>>>>>>>

/* Manually name the  CPU,*/

//#define Manual_cpuName
String set_CPUname = "xxxxxxxx";

/* Manually name the GPU,*/
//#define Manual_gpuName
String set_GPUname = "xxxxxxxx";

/* Manually set GPU ram total,*/
//#define Manual_gpuRam
String set_GPUram = "xx";

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

/* Use the Rotary Encoder for variable PWM control, connected direct to the MCU PIN,*/
/* If commented the screen brightness will default to the fixed level below,*/


//#define Encoder_PWM2 // Use rotary encoder for PWM screen brightness control  3.3v

/*TFT Start Up Brightness*/
volatile int brightness_count = 130; // Start Up Brightness 0 - 255

  Are you sure? yes | no

wivope7038 wrote 06/25/2021 at 22:33 point

Sorry I haven't read it before

Thanks a lot, all of them solved

but three more question :

1. I set the brightness value to 1000 is it okay? because the screen was so dim and still kinda is.

"

  if (brightness_count > 1000) {
    brightness_count   = 1000;

"

2. Can I connect two screen? like one ILI9341 and one SSD1306

If not have I will be able to connect one pro micro and one ESP32 to the same PC and drive the at the same time? cause on Hardware Serial Monitor I couldn't find such an option.

3. I saw Battery Monitor Voltage divider on Phat-Stats ILI9341 TFT Display Hook up Guide, Is that for monitoring with this version of code? cause I didn't find anything related to that in the code.

  Are you sure? yes | no

Rupert Hirst wrote 06/26/2021 at 18:00 point

1. no only 0-255

volatile int brightness_count = 130; // Start Up Brightness 0 - 255

Whats the screen brightness like when you connect it straight to 3.3v?

if its too dim there is some issue with the screen anything over 200 is very bright on my screens. Are you using a resistor on the backlight?

2. No

3. its on version 2..0.6

  Are you sure? yes | no

yusuf bayram wrote 06/21/2021 at 02:13 point

I use ILI9341 and XIAO with Neopixel ring. Everything is working well but Neopixel lights randomly and only red. I tried both 220 and 330ohm resistor between A6 and Din connectors and did not work. Is ist only suppouse to be 300ohm or I am doing something wrong? In the meantime I don't use Rotary.

  Are you sure? yes | no

Rupert Hirst wrote 06/22/2021 at 12:24 point

#define enableNeopixelGauges //

All the resistor does is protect the data pin even 100 ohms would be fine

  Are you sure? yes | no

Colin Russell-Conway wrote 07/15/2021 at 11:16 point

Yeah I'd go with a 100 ohms, but the XIAO may not have enough power for a neopixel ring, try dropping the neopixel brightness in the arduino sketch.  

  Are you sure? yes | no

estoyarto wrote 05/15/2021 at 17:52 point

Hi, great project ! Its possible to use https://ipc2u.com/catalog/vl050-8048nt-c01  , from and android of things kit?

  Are you sure? yes | no

Rupert Hirst wrote 05/15/2021 at 19:52 point

No, it is not even remotely similar.

  Are you sure? yes | no

estoyarto wrote 05/16/2021 at 00:14 point

Thanks Rupert!

  Are you sure? yes | no

phamanhduc1011 wrote 05/11/2021 at 12:57 point

i tried phat stats, i modified the code to fit with my set up (no encoder, no neopixel) and the upload was successful. However, it keep showing NO COM DATA. I wonder if anythings could go wrong?

  Are you sure? yes | no

Rupert Hirst wrote 05/11/2021 at 14:57 point

Thats not much information

  Are you sure? yes | no

Ozkan wrote 05/05/2021 at 14:45 point

Hi, Can I turn off Auto Mode on HardwareSerialMonitor? Can I get it to start by selecting the port I specified?

For example; Let's start by selecting the COM7 port.

https://prntscr.com/12j1okc

  Are you sure? yes | no

Rupert Hirst wrote 05/05/2021 at 17:51 point

It does not make much of a difference anyway as it writes the last port to a config file in the folder. When HardwareSerialMonitor starts it uses this information.

So it will always start use the last port, except for BT where you have to manually click the port again. 

When it is in Automatic Mode the icon will be green.

Select the port you want to start, then click Automatic Mode at the top.

You will see a tick mark and the port named at the top in the Automatic Mode section.

  Are you sure? yes | no

stefan.schnitzer wrote 05/04/2021 at 09:30 point

Very nice project, I built a version for my PC. 

https://img-9gag-fun.9cache.com/photo/axM3eWK_460swp.webp

  Are you sure? yes | no

Rupert Hirst wrote 05/05/2021 at 14:28 point

Thanks :) 

nice 3d printed enclosure

  Are you sure? yes | no

yusuf bayram wrote 04/27/2021 at 21:43 point

Hello, I tried to upload the project to Seeeduino XIAO and It shows me error "No device found on COM*" Looks like i did everything correct as I see.

https://imgur.com/a/JuBgIfB

  Are you sure? yes | no

Rupert Hirst wrote 04/27/2021 at 23:26 point

Do not use a USB hub, try a different usb port.

I have had problems with some USB3 ports when uploading

  Are you sure? yes | no

yusuf bayram wrote 04/28/2021 at 00:05 point

I don't use USB hub and tried all USBs on my pc, Didn't change anything.

  Are you sure? yes | no

Rupert Hirst wrote 04/28/2021 at 02:05 point

well i guess you messed up the flash.

Enter Bootloader Mode

Sometimes the Seeeduino XIAO port may disappear when user programming process fails. we can solve this problem by the following operation:

Connect the Seeeduino XIAO to your computer.
Use tweezers or short lines to short the RST pins in the diagram twice.
The orange LED lights flicker on and light up.
At this point, the chip enters Bootloader mode and the burn port appears again. Because the samd21 chip has two partitions, one is the Bootloader and the other is the user program. The product will burn a bootloader code in the system memory when it leaves the factory. We can switch modes by performing the above steps.

https://wiki.seeedstudio.com/Seeeduino-XIAO/

  Are you sure? yes | no

yusuf bayram wrote 04/29/2021 at 00:34 point

Those steps worked. Thank you.

  Are you sure? yes | no

Ozkan wrote 04/21/2021 at 19:42 point

hi, Everything works fine in the 1st picture, but when I enter the game, it is like the 2nd picture.

1. https://prntscr.com/11tb244

2. https://prntscr.com/11tb1zs

What is the problem ? Help pls.

im using Bluepill + 2.8 TFT (PhatStats_TFT_STM32F1_V1.6.3)

  Are you sure? yes | no

ragook wrote 04/21/2021 at 23:17 point

Maybe you have a garbage un-shielded motherboard USB header adaptor?

  Are you sure? yes | no

Rupert Hirst wrote 04/23/2021 at 00:08 point

You could try this to slow the connection down

/* Delay screen event, to stop screen data corruption ESP8622 / ESP32 use 15 or 25, most others 5 or 0 will do*/


int Serial_eventDelay = 15;

It should'nt be doing it really, I have no problems with the STM32.

BTW, I am no longer supporting the STM32 I did one last update v1.6.5 you can find it in the files section Depreciated2.zip

Going forward it will be ATSAMD  (including ESP32 maybe!!! due to bluetooth)

  Are you sure? yes | no

Edgaras wrote 04/15/2021 at 10:02 point

Hello, does anyone else experienced issues with freezing? I got this built and it freezes every 5-10 mins, I have unplugged the USB and plug it back in so it would start showing live details again

  Are you sure? yes | no

ragook wrote 04/15/2021 at 14:45 point

No Zero freezing here i run it all day long.

You havent provided much info.

What PC system ? What Arduino? Which Screen?

  Are you sure? yes | no

Edgaras wrote 04/15/2021 at 14:52 point

Good point

cpu: ryzen 3600

ram: corsair rgb pro 3000 16gb

gpu: rtx 2060 msi ventus

mobo: asrock steel legend b450

I use Arduino micro + SH1106 1.3inch oled screen

Code works perfectly fine, top right corner flashes D1, D2, D3 (as separate pages of info) for few minutes, and then it stops refreshing and freezes with data on oled screen frozen and not changing anymore. Thats when I have to unplug USB, plug it back in and it starts working again until it freezes again.

  Are you sure? yes | no

ragook wrote 04/15/2021 at 15:07 point

Are you using a USB hub?

"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"

  Are you sure? yes | no

Edgaras wrote 04/16/2021 at 13:07 point

direct usb to motherboard and front io panel tried, both same result. Actually motherboard USB froze faster than front io port

  Are you sure? yes | no

Rupert Hirst wrote 04/16/2021 at 13:46 point

i have heard that Ryzen motherboard chipsets have a problem with frequent USB disconnects

  Are you sure? yes | no

phamanhduc1011 wrote 04/15/2021 at 09:56 point

there are ILI9225 driver displays in my area, LCD TFT 2.2 SPI to be specific. Is this screen be used with this project?

  Are you sure? yes | no

Rupert Hirst wrote 04/15/2021 at 14:41 point

ILI9225 resolution 176x220

ILI9341  resolution 240x320

It has to run native, its not like a TV with scaling

  Are you sure? yes | no

phamanhduc1011 wrote 04/15/2021 at 23:50 point

thanks for your response

  Are you sure? yes | no

cagancelik88 wrote 04/12/2021 at 10:51 point

Just curious why has bluepill support been dropped without any explanation? I also cannot see latest working bluepill & tft lcd combo (which was v1.6.3) in your deprecated.zip file.

  Are you sure? yes | no

Rupert Hirst wrote 04/12/2021 at 16:22 point

Hi,

STM32 was dropped because all the PM's regarding problems are to do with the BluePill. It is also, harder to maintain, as some features going forward simply will not be supported. 

The BluePill maybe be cheap at $3 but, so is the QT-PY $6 and XION $5

I don't save money when someone choses a BluePill over the alternative, I just get questions which involve lengthy answers.

The goal was always to have one platform, to rule them all :)

PS: The depreciated.zip has been updated

  Are you sure? yes | no

Ozkan wrote 04/06/2021 at 14:15 point

When I compile the code, I get an error like the picture.

https://prntscr.com/115skz0

  Are you sure? yes | no

Rupert Hirst wrote 04/06/2021 at 21:00 point

Look at the error and  try reading the line regarding the adafruit grfx library in the sketch

  Are you sure? yes | no

Ozkan wrote 04/08/2021 at 19:01 point

I am using BluePill, all my connections are as in the diagram. I have successfully compiled the code and loaded it into the microcontroller and connected everything correctly. I see nothing but the white screen.

https://prntscr.com/117jnxx

https://prntscr.com/117jo0f

  Are you sure? yes | no

tahaguven wrote 03/30/2021 at 16:11 point

Seeeduino XIAO I hooked up with. white screen appears. what would be the reason ?

  Are you sure? yes | no

minidaveo wrote 03/31/2021 at 14:59 point

same for me, tried connecting the rotary to 5v and still nothing


perhaps there is a resistor , a high/low output command or external power that’s needed to get it to work??

  Are you sure? yes | no

tahaguven wrote 03/31/2021 at 18:29 point

I applied exactly what the project wanted.

  Are you sure? yes | no

Rupert Hirst wrote 03/31/2021 at 19:31 point

Same for me? Tried connecting the rotary encoder?

5v what are you using? the only Arduino boards that Phat Stats use a rotary encoder on are 3.3v MCU's unless you want to blow a pin

  Are you sure? yes | no

minidaveo wrote 03/31/2021 at 19:51 point

I’m using the seeed xiao


I used the 5v from pin 13 as per shown on the pin out picture you have on your website


tried the 3.3v pin 11 first but nothing and looking on the internet the rotary can take 5v vcc anyway

  Are you sure? yes | no

Rupert Hirst wrote 03/31/2021 at 20:01 point

I don't use the 5v pin.

The rotary encoder can take 5v sure but the XIAO can not its a 3.3v micro

find this line in the Config settings

#define enableQTPYneopixel      // uncomment to disable QT-PY built in Neopixel if you have a XIAO

and change it to

//#define enableQTPYneopixel      // uncomment to disable QT-PY built in Neopixel if you have a XIAO

Maybe the it is interfering with a pin number on the XIAO

  Are you sure? yes | no

minidaveo wrote 03/31/2021 at 20:12 point

will try that tomorrow, my setup is currently at work


appreciate the help


just to confirm you are running the screen, rotary and xiao off the usb cable power and no other external power source??

  Are you sure? yes | no

Rupert Hirst wrote 03/31/2021 at 21:05 point

It powers from USB only, the rotary encoder does not even have to be connected

the board files in the code are for the QT-PY

Maybe you should get familiar read this beforehand.

https://wiki.seeedstudio.com/Seeeduino-XIAO/

https://www.thingiverse.com/thing:4812311 dalgibbard is using the XIAO

  Are you sure? yes | no

Rupert Hirst wrote 04/01/2021 at 00:22 point

I tried a XIAO it works Perfectly

check your pins and select the correct board before you upload

https://drive.google.com/file/d/1RjsJJhGxfFMJ0PMAkJE1SlpBRTMX9KGM/view?usp=sharing

  Are you sure? yes | no

Rupert Hirst wrote 03/31/2021 at 19:27 point

 I have never tried a XIAO but it is pin compatible and the same ATSAMD as a QT-PY.  They are made to be compatible with each other

Did you install the board core in Arduino  correctly according to Seeed?

  Are you sure? yes | no

minidaveo wrote 03/31/2021 at 19:54 point

yes libraries and board manager as per your instructions from your code were installed

  Are you sure? yes | no

Rupert Hirst wrote 03/31/2021 at 21:05 point

Maybe you should get familiar read this beforehand.

https://wiki.seeedstudio.com/Seeeduino-XIAO/

  Are you sure? yes | no

Rupert Hirst wrote 04/01/2021 at 00:20 point

I tried a XIAO it works Perfectly

check your pins and select the correct board before you upload

https://drive.google.com/file/d/1RjsJJhGxfFMJ0PMAkJE1SlpBRTMX9KGM/view?usp=sharing

  Are you sure? yes | no

minidaveo wrote 04/01/2021 at 07:42 point

it works! Updated the board manager to seeeduino that’s where I went wrong, perhaps you could update your files to include the https://files.seeeduino.com/arduino/package_ seeeduino_boards_index.json path so others can use that for the XIAO instead of the QT-PY 

many thanks again

  Are you sure? yes | no

Rupert Hirst wrote 04/02/2021 at 01:04 point

Working?

  Are you sure? yes | no

yusuf bayram wrote 04/03/2021 at 09:09 point

I have the same issue with BluePill. I succesfully compiled and uploaded the code to the micro controller and the hooked up everything correct. I don't see anything but the white screen.

  Are you sure? yes | no

Rupert Hirst wrote 04/03/2021 at 13:24 point

Upload to this standard example graphic test.

https://github.com/koogar/Gnat-Stats/blob/master/TFT_PhatStats/TFT_STM32/BluePill_ILI9341_graphicstest.zip

  Are you sure? yes | no

yusuf bayram wrote 04/03/2021 at 16:15 point

Thanks for answer. I uploaded the example and it was the same white screen and I realized one or two solders that I made on BluePill pins wasn't good. Now it's working properly.

https://imgur.com/9yfa4jE

  Are you sure? yes | no

Don wrote 03/27/2021 at 00:28 point

Got an oddity on PhatStats 1.6.2. I used an Adafruit Feather M0 Express,  2.8" HiLetgo ILI9341 display from Amazon (same display I used with GnatStats 1.5 TFT), with the rotary encoder option. When my CPU and GPU clock down to idle (800MHz for CPU, 300MHz for GPU) I still have a trailing digit wth the MHz overlaid on it (numerically 800 looks like 8000 for the CPU, 300 looks like 3005 for the GPU for example). Any ideas on how to fix this?

Edit: created a workaround in the code (for now, unless there is no other fix).

Changed the cpu clock ctring to use text size 3 instead of 4, coded in a trailing space. Did the same for the MHz.

    tft.setTextSize(3);
    //tft.setTextSize(4);
    tft.setCursor(105, 55);
    tft.print(cpuClockString); //CPU Freq
    tft.print(" ");
    tft.setTextSize(1);
    tft.print("MHz   ");

I also did the same for the gpu string setup. I have made some other edits that fit my build better. If my edited version can be helpful, I can upload it somewhere.

  Are you sure? yes | no

Rupert Hirst wrote 03/27/2021 at 18:15 point

PM'd

  Are you sure? yes | no

cagancelik88 wrote 03/26/2021 at 18:46 point

Unfortunately the last update broke the NeoPixel for me. It used to work in previous version. Although I'm not sure if it was working the way it's supposed to be because I got it working just today. The LEDs were responding to GPU and CPU utilization somehow but colors seemed a bit off or random.

I was checking this page then I realized that there's a new version. As I said uploading it to my Pro Micro made the LEDs go completely dark now. My screen is SH1106 and I'm using 220 Ohm resistor between ProMicro's "D10" pin and NeoPixel's "DI" pin.


Here are some images:

https://ibb.co/tPgztg0

https://ibb.co/kcRzgdt


nvm figured it out: I had to uncomment #define enableNeopixelGauges

  Are you sure? yes | no

cagancelik88 wrote 03/24/2021 at 20:55 point

Hey there,
Can I get some info on how to print or cut the overlay for gnat-stats? How was it made? And where can I find that glass/plastic top piece? Thanks!

  Are you sure? yes | no

Rupert Hirst wrote 03/25/2021 at 22:08 point

The glass and chrome bezel were from a car voltage meter.

The overlay was cut out with a Cricut

  Are you sure? yes | no

cagancelik88 wrote 03/26/2021 at 18:41 point

Thank you very much!

  Are you sure? yes | no

tahaguven wrote 03/23/2021 at 10:41 point

Hello there. I am using bluepill and an ILI9341 display. but the articles do not appear properly. what is the reason of this ? thanks.

  Are you sure? yes | no

ragook wrote 03/23/2021 at 23:11 point

so little information

  Are you sure? yes | no

ragook wrote 03/24/2021 at 19:39 point

What Arduino STM32 core are you using?

you need to use this

https://github.com/rogerclarkmelbourne/Arduino_STM32/wiki/Installation

Not the official STM32 core it is slow.

  Are you sure? yes | no

tahaguven wrote 03/24/2021 at 21:49 point

STM32F103C8T6 

I use

  Are you sure? yes | no

ragook wrote 03/24/2021 at 22:30 point

The chip it is what is used in the arduino ide the core is not.  Hmmmmmm.

See... we shall

  Are you sure? yes | no

Rupert Hirst wrote 03/25/2021 at 23:10 point

STM32F103C8T6  is not the core.

The core is what the Arduino Software uses for each different boards

For the BluePill you must use 

https://github.com/rogerclarkmelbourne/Arduino_STM32/wiki/Installation

  Are you sure? yes | no

tahaguven wrote 03/25/2021 at 23:15 point

ok i did everything here. the result has not changed. 

my screen is 240x320 does it matter? ILI9341 2.8 "240x320

  Are you sure? yes | no

Rupert Hirst wrote 03/26/2021 at 00:38 point

you are using the same screen as i am using.

Did you upload the code again using the new core?

You should see this exactly this when selecting the board in the Arduiino IDE

https://drive.google.com/file/d/1UrBxE95TJuFvXjs56rZ852UwmJLu61g1/view

Have you tried it on another PC? do you get the same result?

  Are you sure? yes | no

tahaguven wrote 03/26/2021 at 11:03 point

https://resimyukle.xyz/i/zPOOMT

I did everything from there

  Are you sure? yes | no

tahaguven wrote 03/26/2021 at 11:04 point

I will try it on another computer.

  Are you sure? yes | no

tahaguven wrote 03/26/2021 at 20:16 point

https://resimyukle.xyz/i/OTJNIG

another computer is the same. It works on first boot and is corrupted afterwards.

https://resimyukle.tc/image/f22e1ecb-76aa-4951-9d73-e3aa79e0fda0.oySA

  Are you sure? yes | no

Rupert Hirst wrote 03/26/2021 at 22:18 point

try this 

https://drive.google.com/file/d/1sUiX74_KPjE0kLxWbxqtoWFmubcnedoQ/view?usp=sharing

  Are you sure? yes | no

tahaguven wrote 03/27/2021 at 11:13 point

https://resimyukle.xyz/i/A95TBB

has not changed. the result is the same

  Are you sure? yes | no

Rupert Hirst wrote 03/27/2021 at 20:30 point

Try this version 

https://github.com/koogar/Gnat-Stats/blob/master/TFT_PhatStats/TFT_STM32/DEPRECIATED/PhatStats_TFT_STM32F1_V1.6.2.zip

Change the pins for the encoder according to the pins.txt

  Are you sure? yes | no

tahaguven wrote 03/27/2021 at 21:08 point

the result has not changed the same :(

  Are you sure? yes | no

Rupert Hirst wrote 03/28/2021 at 02:53 point

I really don't know then. 

I know what is happening just not why on yours

What does it say on the Chip

https://hackaday.com/2020/10/22/stm32-clones-the-good-the-bad-and-the-ugly/

  Are you sure? yes | no

tahaguven wrote 03/28/2021 at 11:13 point

https://resimyukle.xyz/i/QTJN5a

  Are you sure? yes | no

tahaguven wrote 03/28/2021 at 11:16 point

https://resimyukle.xyz/i/34TSCJ

let me show the screen. which might be the problem?

  Are you sure? yes | no

tahaguven wrote 03/28/2021 at 21:34 point

ATSAMD21

I ordered. Do you think the problem is related to the card?

  Are you sure? yes | no

Rupert Hirst wrote 03/31/2021 at 09:57 point

Your ILI9341 TFT is good, I do not know if it is your BluePill, my works great.

You could try changing the below value in the PhatStats Config settings 

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

/* Delay screen event, to stop screen data corruption ESP8622 use 25, most others 5 or 0 will do*/
int Serial_eventDelay = 0; //

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

Try values from  5 to 25

it should not need anything for a STM32 but its worth trying

Which ATSAMD did you buy?

  Are you sure? yes | no

tahaguven wrote 04/04/2021 at 12:48 point

problem solved. The USB driver needs to be plugged directly into the motherboard. When I plug a USB in the safe, the writings are corrupted. thank you.

  Are you sure? yes | no

TheRandomGuy wrote 03/19/2021 at 15:44 point

Hello! I am very interested in this project and I want to try it myself! I wanted a twist in order to learn to code. So, I bought 3.5-inch TFT LCD screen for Arduino Uno and I'm trying to modify the coding to fit on this screen. Any tips, suggestions? where should I start? I already downloaded all the libraries for the screen and tested it and it works fine, although the touch screen is funky( i don't want to use it anyway).

  Are you sure? yes | no

Rupert Hirst wrote 03/19/2021 at 17:35 point

What is the controller for the 3.5" screen? 

The UNO is not compatible with Phat-Stats 

  Are you sure? yes | no

TheRandomGuy wrote 03/19/2021 at 19:37 point

I dont know what controller you are talking about...

https://www.amazon.ca/480x320-Screen-Module-Arduino-Without/dp/B07NWH47PV/ref=sr_1_7?dchild=1&keywords=3.5+inch+screen+arduino&qid=1616182604&sr=8-7

this is the one that I bought

  Are you sure? yes | no

Don wrote 03/27/2021 at 06:27 point

I tried to rewire a 2.4" UNO shield screen when testing the older Gnat Stats 1.5TFT. I never found a wiring setup that got it working on the Arduino Micro for Gnat Stats. I went with a 2.8" ILI9341 display (the one I got for $17.00USD is over $70 on Amazon Canada). But the following one *should* work with any of the PhatStats compatable microcontrollers.

https://www.amazon.ca/WayinTop-ILI9341-Display-240X320-Resistor/dp/B087C3PP9G/ref=sr_1_5?dchild=1&keywords=ili9341&qid=1616826075&sr=8-5

You can also look for ILI9341 3.5" 240x320 if you want that screen size.

  Are you sure? yes | no

EVilm1 wrote 02/12/2021 at 18:56 point

Hello ! I'm new and I discovered this project.

It's incredible and I would love to do the same at home.
I have never tested this kind of project before and after several hours of research on your project,
I still have some questions before buying the components.
I think my message can help a lot of people in the same situation as me. The project displayed here is not very intuitive for a beginner. But doable!

I would like a mini oled screen displaying my pc information in real time.
If I have understood everything correctly, for that I must :

If I want to use a mini oled screen, I can take a "SSD1306 (i2c)" such as this one :
https://www.amazon.fr/AZDelivery-pouces-Arduino-Raspberry-microcontr%C3%B4leur/dp/B01L9GC470/

As a controller, I can take the Arduino ProMicro like this one :
https://www.amazon.fr/ARCELI-Atmega32U4-Bootloadered-d%C3%A9veloppement-Microcontr%C3%B4leur/dp/B07J2Q3ZD5/

Then I need to connect the SSD1306 display to the ProMicro, is there a mounting shema?
From what you can see on the 2nd picture of the project, the display is directly installed on the ProMicro if I'm not mistaken.
I imagine that the GND must be aligned but the others don't match... I don't know.

Edit : I did download the files and found the connections I think. SDA on pin2, SCL on pin3 and I guess GND on pin4 and VCC on pin 5?

If I want to use a mini OLED display I have to take the GnatStats (OLED) file and not the PhatStats (TFT) file because it is only for TFT displays. (Is this correct?)
So I can take this file : "GnatStats_ProMicro_OLED_V1.33.zip".

Then you have to flash the code on the ProMicro, in the folder there are several ".ino" files and a "bitmap.h" file.
I guess I have to flash them on the ProMicro, but I have to flash them all? From what I've seen I have to compile the files. Is that right?
I've done Arduino before but it was just on an Arduino UNO.


Suppose I manage to flash the ProMicro, I connect it via USB to the PC. I connect it in internal USB 2.0.

We can quickly get lost between OpenHardwareMonitor, HardwareSerialMonitor, LibreHardwareMonitor...
If I understood correctly, for the ProMicro to capture the information, HardwareSerialMonitor must be running (and there are solutions that exist to launch it at startup automatically).
When running it sends information about the COM port, the ProMicro receives, and displays.

Finally, I use very recent components such as a Ryzen 9 and an RTX 2060. I guess if OpenHardwareMonitor manages to read my information, it must work with this project?

Here is what I understood, I would like you to please confirm all what I said, or to complete some points.
If everything is ok I'll go ahead and order the components!

Thank you for your help ;-)

  Are you sure? yes | no

Rupert Hirst wrote 02/13/2021 at 16:26 point

Hi,

Answer to some of your questions.

Running on Startup: https://hackaday.io/project/19018-gnat-stats-tiny-oled-pc-performance-monitor/log/179299-run-on-startup-win10

All the tabs get compiled together as one in the Arduino IDE  just like any other sketch. The tabs are there to break the code down into modules, it would be very long and hard to work with other wise.

https://hackaday.io/project/19018-gnat-stats-tiny-oled-pc-performance-monitor

HardwareSerialMonitor the companion to  Gnat-stats(OLED)  or Phat-stats(TFT) work together and are  developed by me.

LibreHardwareMonitor is a fork of OpenHardwareMonitor both are open source. One is better than the other.

HardwareSerialMonitor relies on one file "OpenHardwareMonitorLib.dll" from OpenHardwareMonitor to detect the hardware and send it to the Arduino sketch.

 OpenHardwareMonitor application does not need to be run or present on the host PC.

You could connect the USB internally to the motherboard with the appropriate adaptor "internal usb header adapter" which is easily found on Google.

This project has evolved a lot since its inception and thus it has been hard to do a guide for beginners.

The ProMicro while being a very capable micro is very limiting due to its small memory especially in  HardwareSerialMonitor v1.3.

As I try  new platforms eg: 32u4/ ESP8266 / STM32 /ATSAMD etc. I have updated the code. Having so many options and pitfalls it has been impossible to cater for beginners yet it makes it easier for advanced users with those micro's

I have been experimenting with the Adafruit QT-PY & Seeeduino XIAO a cheap powerful solution which will limit the project to one specific board.

Going forward, the only code with be for that platform. At which point I could do a guide for beginners for the OLED and the TFT versions with hook up diagrams etc. for select hardware.

As for compatibility with your Ryzen, I could not tell you.  I have seen many images with Ryzen's that work and many questions about it doesn't, some is user error, some is not.

In theory if it works in the OpenHardwareMonitor application it should work in HardwareSerialMonitor and Gnat-Stats. 

The Ryzen platform has been problematic for OpenHardwareMonitor especially as it gets few updates.

Yet!!! if it works in OpenHardwareMonitor  and not in HardwareSerialMonitor / Gnat-Stats they could be detecting certain Ryzen CPU's in a different manner to which I am not aware of.

Hope this clears up a few things

Rupert

  Are you sure? yes | no

EVilm1 wrote 02/14/2021 at 02:11 point

Hi !

Thank you for your complete and detailed answer.
I downloaded the file and managed to compile it, I understood by myself that it was enough to open only one file for all the other files to follow in the compilation.
So I managed to compile the whole thing, (Gnat-stats for OLED)
However, there are still some mistakes that I don't really understand.
These are warnings and not errors, I guess it doesn't matter because I don't want to use NeoPixel (leds).

Here are the warnings: 
GnatStats_ProMicro_OLED_V1.33.ino:180:0:  /Adafruit_SSD1306.h:63:0: warning: "BLACK" redefined #define BLACK SSD1306_BLACK  ///< Draw 'off' pixels
GnatStats_ProMicro_OLED_V1.33.ino:165:0: note: this is the location of the previous definition #define BLACK 0x000000 // OFF
The same for white...

As you say QT-PY would be more suitable for OLED screens. Does the code work with QT-PY today? I need to buy QT-PY more than ProMicro?
Nothing is specified about QTPY in Gnat-Stats 1.33. Would it still be SDA on pin2, SCL on pin3, GND on pin4 and VCC on pin 5?
Or just connect the pins with the same name? (GND -> GND, VCC -> 3.3V, SDA -> SDA, SLC -> SCL) a bit laborious sorry xd

I looked at your code a little bit, very interesting! There are even 3 possible displays!
Thank you for your project and your help :D

  Are you sure? yes | no

Rupert Hirst wrote 02/15/2021 at 18:21 point

The warnings you are getting look like library conflict errors probably because you have more than one library with the same header file(.h) name.

The QT-PY is more suitable for TFT screens but will work with OLED as long as it is a SSD1306 not the SH1106 as there is no library for the QT-PY that I can find. 

I have OLED  working on the QT-PY I just have not released it yet

All the OLED screens which are 0.96" tend to be SSD1306 while screen sizes above that will be SH1106 but the seller will still call it a SSD1306!!!.

you can  tell by the pin order  

SSD1306 = VCC/GND/SCL/SDA

SH1106    = GND/VCC/SCL/SDA

The pin connections are VCC to VCC GND to GND,  SDA and SCL  are different depending on the Microprocessor.  

SDA and SCL are not mentioned in the code, you only have to connect them to the correct  pins.

  Are you sure? yes | no

EVilm1 wrote 02/16/2021 at 23:07 point

Thank you for your response,

What do you mean by "I have OLED working on the QT-PY" ?
Does GnatStats_ProMicro_OLED_V1.33 already work with QT-PY and OLED SSD1306 ?
For the pins I think I understood, it's just logic...
Thanks

  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