/resource-monitor

Arduino based PC resource monitor with 20x4 LCD display

Primary LanguageC++MIT LicenseMIT

Resource Monitor for PC

Build Status

Device view

Simple and useful project, made to monitor system resources without opening Task Manager. It can show you CPU and RAM usage, HDD and network activity. All data are visualize with charts. On host system uses Python script for collecting resources utilization that makes monitor is crossplatform.

Getting Started

Prerequisites

Software

Arduino libraries

Python libraries

pip install psutil
pip install pyserial

Hardware

  • Arduino Nano or another small board
  • PC2004A 20x4 LCD Display with IIC/I2C Serial Interface Adapter
  • Push button

Device schema Device back view

Configuring

All you need is change COM port on corresponding port number in config.py To test communication you need start agent_console.py. Console will show you actually transferred data in table view.

Autostart

You can setup to auto start python script in Windows using Task Scheduler and in Linux using cron

Windows

Here is ResourceMonitorTask.xml for importing to Task Scheduler. All you need is change the path for agent.pyw script in Action tab.

Linux

You can use cron for autostart agent-script every minute but it was not tested by me.

Screens

  • Default screen (full information about CPU, RAM, Network and HDD)

Default screen

  • CPU and RAM

CPU and RAM

  • CPU on full screen

CPU on full screen

  • Network and HDD

Network and HDD

  • Network and HDD detailed

Network and HDD detailed

  • Network on full screen

Network on full screen

  • HDD on full screen

HDD on full screen

Display screenshots were generated by LCD Display Screenshot Generator by Alexander Avtanski

The button

  • Single press - switching between screens
  • Long press - enter to menu mode that causes the switching of menu items every second
  • Release after long press - apply menu item and exit from menu

Authors

  • Alexander Savychev - Initial work - save2love

See also the list of contributors who participated in this project.

License

This project is licensed under the MIT License - see the LICENSE file for details