Welcome to my little side project:
We're going to make a simple hardware and sensor monitoring tool that looks great as a built-in piece of hardware or as a gadget on your desktop!
Read the data from your Laptop/PC -> send it to an Arduino that simply forwards it to a Nextion display!
- The core app is based on Open Hardware Monitor - it needs admin rights to read some temps and info
- The Arduino acts only as a serial data forwarder to the display
- it can be connected via USB
- directly to the motherboard usb pins
- It works with the 2 famous displays: Itead's Nextion and it's original Chinese equivalent of TJC
- currently the user interface is created for the following 2 models: NX4832K035_011, TJC4832K035_011
Naming convention:
- NX - Nextion
- 4832 - 480 x 320 resolution
- K - ENHANCED family
- 035 - 3,5inch screen size
- Status1:
- CPU temp/load
- GPU temp/load
- RAM usage
- GPU RAM usage
- Status2:
- HDD1 name/used space
- HDD2 name/used space
- GPU fan usage/RPM
- CPU Power consumption
- Graph:
- CPU & GPU temp - long-term representation
- Settings:
- Show/Hide either the CPU or GPU temp
- Colorize CPU temp based on it's values
- Change GPU color to a custom color
- Info
- Minimal info about the motherboard, CPU, GPU, HDD1, HDD2, RAM
- Settings
- Manually change the display's brightness
- Change when the display goes to sleep
- Restart the display
- Show time and date
- The executable requires admin priviledges, as the Open Hardware Monitor library needs to read the sensor data (don't worry about that) :)
- The display turns off after 1min, if it doesn't receive data
- To manually turn off the display, just press "Lock" on the main page
- Only 2 storage units are handled, it should be enough
- Send custom commands to the display (ex. sleep=1)
- Flash the Arduino with SimpleSerialReader.ino
- Flash the precompiled *.tft file for your display
- Print the display bracket
- Run the executable
- Select the correct COM port
- Select baud rate (usually 115200)
- Choose update rate - works fine with 2000msec
Check out the resources and the project folder! Here are some tips for future improvements:
- Feature to minimize the app to the taskbar
- Feature to select which data has to be sent to the display
- Send custom commands to the display
- Add autostart with Windows! - I just started C#, the app can be improved in many ways
- Create different themes for the user interface - the display can have many themes, so it matches your surroundings!
- Extend the functionality - other external libraries can be included - such as fan control or RGB light control!