Skip to content

A little project to show some info about your pc (Ex. GPU temperature) on an external display driven by an ESP32. The python script works only for NVIDIA cards.

License

Notifications You must be signed in to change notification settings

FCPercival/pc-info

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PC-info Version 1.0

A little project to show some info about your pc (Ex. GPU temperature) on an external display driven by an ESP32. The python script works only for NVIDIA cards.

Requirements

  • ESP-32 Board or any I2C/SPI capable board (NOTE: This code works only for ESP32 and ESP8266)
  • GC9A01 IPS LCD 240x240 (Using SPI communication)
  • Python 3

Installation

There are two scripts, one for your microcontroller and one to run on your local PC (sendBackground.pyw)

Prepare your IDE and install Python

  1. Install the latest Python release from here
  2. Install the following packages for python: gputil, pyserial (Ex. on cmd type: pip install gputil)
  3. Install Platformio for VSCode following this guide

Circuit schematics and how to upload the code to the microcontroller

NOTE: If you are not using a display with the GC9A01 driver, go to the Step 2 in the code, comment the line Arduino_GC9A01 *gfx = new Arduino_GC9A01(bus, TFT_RST, 0 /* rotation */, true /* IPS */); and uncomment the code for your specific LCD driver (More info)

Connect the ESP32 to the LCD :

   ESP32          |  LCD
   VCC (**3.3V**) -> VCC
   GND            -> GND
   Pin 18         -> SCL
   Pin 23         -> SDA
   Pin 33         -> RES
   Pin 27         -> DC
   Pin 5          -> CS
   Pin 22         -> BLK

Check the wiring and make sure VCC is connected to the 3.3V pin on the board. Now, proceed opening the "Microcontroller Code" folder with PlatformIO, in the PlatformIO tab select Build Filesystem Image under Platform and when it finishes click "Upload Filesystem Image" to upload the images that will be shown in the display, if everything was uploaded succesfully clickUpload under General to upload the code.

After the code is succesfully uploaded you should see a message on the LCD screen. Now we need to run the python code on your local pc, so first we need to know in which port the microcontroller is connected, to do so look in the vscode console, platformio during the upload should have printed it (For example COM1 for Windows and /dev/ttyESB0 for Linux), now modify the port variable on the python script with that port and launch the script.

If everything is correct you should see the current GPU temperature on the screen. If you want to run the script at login put a shortcut on this folder %APPDATA%\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

Note: You could also find an enclosure to fix the display. (stl file on "other files" folder)

FAQ

  • The python script works for AMD cards?

    The script only works for NVIDIA cards.

  • The python script works on Linux?

    Yes, the python script works on Linux.

Known bug/problems

  • High refresh time (Approx 1 seconds)
  • The python script works only for NVIDIA cards.

Planned features

  • AMD cards support

Supported LCD drivers

Images

NOTE: In these images the colors are a bit off

Libraries used

LICENSE

This project is under the MIT licence, see the LICENSE file for more informations.

About

A little project to show some info about your pc (Ex. GPU temperature) on an external display driven by an ESP32. The python script works only for NVIDIA cards.

Topics

Resources

License

Stars

Watchers

Forks

Languages