Skip to content

PC hardware and sensor data monitoring with Arduino and Nextion

Notifications You must be signed in to change notification settings

Andoramb/OHMARDNEX

Repository files navigation

OHMARDNEX

Open Hardware Monitor with Arduino and Nextion

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!



Working principle:

Read the data from your Laptop/PC -> send it to an Arduino that simply forwards it to a Nextion display!

Good to know before starting:

  1. The core app is based on Open Hardware Monitor - it needs admin rights to read some temps and info
  2. The Arduino acts only as a serial data forwarder to the display
    • it can be connected via USB
    • directly to the motherboard usb pins
  3. 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

Page layout / Features:

  • 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

Other features:

  • 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)

How to get started:

  1. Flash the Arduino with SimpleSerialReader.ino
  2. Flash the precompiled *.tft file for your display
  3. Print the display bracket
  4. Run the executable
    • Select the correct COM port
    • Select baud rate (usually 115200)
    • Choose update rate - works fine with 2000msec

Want to contribute?

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!

About

PC hardware and sensor data monitoring with Arduino and Nextion

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published