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.
- 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
There are two scripts, one for your microcontroller and one to run on your local PC (sendBackground.pyw)
- Install the latest Python release from here
- Install the following packages for python: gputil, pyserial (Ex. on cmd type: pip install gputil)
- Install Platformio for VSCode following this guide
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)
-
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.
- High refresh time (Approx 1 seconds)
- The python script works only for NVIDIA cards.
- AMD cards support
- GC9A01 Round display 240x240 [test video] (Recommended)
- HX8347C 240x320 [test video]
- HX8347D 240x320 [test video]
- HX8352C 240x400 [test video]
- HX8357B (9-bit SPI) 320x480 [test video]
- ILI9225 176x220 [test video]
- ILI9341 240x320 [test video]
- ILI9341 M5Stack 320x240 [test video]
- ILI9481 320x480 (18 bit color) [test video]
- ILI9486 320x480 (18 bit color) [test video]
- ILI9488 320x480 (18 bit color) [test video]
- JBT6K71 (8-bit Parallel) 240x320 [test video]
- R61529 (8-bit/16-bit Parallel) 320x480 [test video]
- SEPS525 160x128 [test video]
- SSD1283A 130x130 [test video]
- SSD1331 96x64 [test video]
- SSD1351 128x128 [test video]
- SSD1351 128x96
- ST7735 128x160 (various tabs) [test video]
- ST7735 128x128 (various tabs) [test video]
- ST7735 80x160 [test video]
- ST7789 TTGO T-Display 135x240 [test video]
- ST7789 240x240 [test video]
- ST7789 TTGO T-Watch 240x240 [test video]
- ST7789 round corner display 240x280 [test video]
- ST7789 240x320 [test video]
- ST7796 320x480 [test video]
- Canvas (framebuffer)
- Canvas_Indexed (for saving memory space)
NOTE: In these images the colors are a bit off
This project is under the MIT licence, see the LICENSE file for more informations.