After receiving a Maker Uno from one of my Professors I wanted to experiment and try to make something that I would actually use. I recently built a new PC and wanted the project to have something to do with it. My Idea: Extending the Maker Uno with a shield display and make it able to display useful information about my hardware components (Temperature, fan speeds, etc.)
- Maker UNO
- ELEGOO UNO R3 2,8" TFT Touchscreen
- Python
- Arduino (C++)
I wrote a Python script using WMI (Windows Management Instrumentation) to get information from OpenHardwareMonitor an open-source software that monitors information about hardware components.
To send information to the microcontroller, via the serial ports of my computer, I used pySerial.
To display information on the Screen I first had to learn about the Elegoo GFX Library (based on Adafruit GFX) Using the provided Library and the information sent to the serial ports of the Maker UNO I was able to come up with a design and display the gathered data accordingly.
Depending on the usage of CPU, GPU, and RAM the color used to fill the boxes will change from blue (0-30%) to orange (30-70%) and eventually to red (70-100%). The thin bars next to CPU and GPU show the current fan speed of the component and coloring is used as mentioned above. Currently, the power draw is calculated only by how much the CPU and GPU draw other components are not included.
- All arguments regarding the position of elements are absolute and not relative to the size of the display. This has to be changed.
- Currently there is no way to see the exact usage of the components other than how much the boxes are filled. A solution would be to display the usage in percent within the boxes.