Introduction: Arduino CPU+RAM Usage Monitor LCD

Picture of Arduino CPU+RAM Usage Monitor LCD

Hi all,

I tody i made a Arduino CPU+RAM usage monitor using a simple Arduino sketch and a program.
In this instructable i will show you how to make it.
The program features an Arduino connection tester and you can write custom text to the LCD and also monitor the CPU+RAM usage on your pc.

Step 1: Stuff You Need

The stuff you will need for this project:

-Jumper wires
-LCD display i used HD44780
-potmeter  10K
-Arduino Uno/Mega
-.Net Framework 4/4.5
-Arduino Software

Step 2: Connect the LCD to the Arduino

Picture of Connect the LCD to the Arduino

Follow the image from the Arduino website to connect the Arduino to the LCD.
Make sure all the connections are right!

Step 3: Upload the Code to the Arduino

Picture of Upload the Code to the Arduino

Connect your Arduino to your pc/laptop.
Open the Arduino sketch i attatched and upload the code
Make sure there are NO errors!

When the download didn't work here is the code:

#include <LiquidCrystal.h>

//Set's lcd to the Arduino's ports
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {
  lcd.begin(16, 2);


void loop() {
  String content = "";
  char character;

  while(Serial.available()) {
      character =;

  if (content != "") {
    if (content == "`") {
  content = "";

if (content == "*") {
  content = "";
    if (content == "~") {


Step 4: Run the Windows Program

Picture of Run the Windows Program

Now you can run the Windows appalication that sends the CPU and RAM usage over the serial port to the Arduino.
So make sure that your Arduino's USB is connected to your PC.

New version:

For the source code:

Step 5: Final Product

You are now finished!
When your Arduino or PC is not working correctly please send me a message and i will help you out!

Have a great day!


wouterdoornbos (author)2015-01-10

NOTE: I have found the source code! It was saved on one of my backup drives :$

You can download the full source code rar at:

your site is down. i cant get to either of the downloads

Sorry about that. Can't fix that right now.
You can still download the source code. The exe file is in the folder GameControl/GameControl/bin/debug/GameControl.exe

Source download:

Casly1978998 (author)2017-07-31

The Download Link doesn't work
Can you fix that please?

Abu-Fayez (author)2017-06-01

i cant get to either of the downloads

pattrick18031 (author)2017-02-05

Is it possible to reupload the exe file and the source code? I would like to add some featuresfor personal use.

CiananP (author)2016-08-30

Odd question. Would it be possible to slightly upscale (7" HDMI-based screen) this idea to work as a full systems monitoring panel? I've got a massive case, and I would love to learn Arduino to the point that I could make a hook-in panel with temp sensors and such to be able to at-a-glance keep an eye on my system.

Gaige Kerns (author)2016-01-26

can you do this with the arduino nano?

NickG63 (author)Gaige Kerns2016-01-31


JarekJ (author)NickG632016-02-03

Do you have working program to Windows?

Gaige Kerns (author)JarekJ2016-02-03

What do you mean? I have windows yes. Although I have a clone of the arduino nano which is making it hard to even bootload.

NickG63 (author)Gaige Kerns2016-02-09

Try reuploading the bootloader, and as far as the nano goes just vhange a few pins and voila

Gaige Kerns (author)NickG632016-02-15

Ya its nothing close to viloa, the arduino clone works, got the driver tested it, but the code for this guys thing is messed up.

SammyA3 (author)2016-02-12

the website does nt work

ArtemK4941 (author)2015-12-14

Please check and rewrite your program it doesn't work properly

KomeylD (author)2015-07-12

Is it possible to show cpu temperature instead of cpu & ram usage?

should i learn coding?

schepers12 (author)2015-01-11

just wondering, how hard will it be to have the CPU (or rather APU in my case) temperature being monitored as well? i found an other app, but they fail in giving the right temp, only the program called "speedfan" works good on my laptop. i am in need of it because i want to monitor my CPU temp while benchmarking the thing.

Clemaul (author)2015-01-10

Hi, very nice projet ! Can you share your program source code ?

wouterdoornbos (author)Clemaul2015-01-10

Thanks for your comment, please read the above :)

wouterdoornbos (author)2015-01-10

Excuse me, but i dont have the source code anymore. But i have a new download link to make it more easy to download it again.

aiden.krzanowski (author)2014-11-21

What are the chances of getting the source code for the application? Nice job by the way!

JonEvans94 (author)2014-10-06

Can we see the source code for the program?

Impetus37 (author)2014-06-03

I cant seem to download the program from 4shared, could you mail it to me or upload somewhere else? :)


wouterdoornbos (author)Impetus372014-06-03

See my above post!

wouterdoornbos (author)2014-06-03

For everyone who has download problems see below :)

4rf4 (author)2014-02-09

how do I display the Arduino to control the temperature in

Nman120 (author)2014-01-31

Could you post the windows program in a way that doesn't involve a rediculous dowload web site?

13Andrew13 (author)2013-09-07

Mine gets shut out of the serial port after a few min says access denied, mega 2560

The nerdling (author)2013-09-04

here is my version of the code modded to work with an i2c lcd screen but for some reason the cpu usage doesn't show up


#define I2C_ADDR 0x27 // <<----- Add your address here. Find it from I2C Scanner
#define En_pin 2
#define Rw_pin 1
#define Rs_pin 0
#define D4_pin 4
#define D5_pin 5
#define D6_pin 6
#define D7_pin 7

int n = 1;

LiquidCrystal_I2C lcd(I2C_ADDR,En_pin,Rw_pin,Rs_pin,D4_pin,D5_pin,D6_pin,D7_pin);

void setup()
lcd.begin (16,2); // <<----- My LCD was 16x2

// Switch on the backlight
lcd.home (); // go home

void loop()
// Backlight on/off every 3 seconds

String content = "";
char character;

while(Serial.available()) {
character =;

if (content != "") {

if (content == "`") {
content = "";

if (content == "*") {
content = "";


if (content == "~") {


The nerdling (author)2013-08-31

how did you get the wiring diagram?

Its from the Arduino website take a look here: If you want to make your own schematics download Fritzing

wouterdoornbos (author)2013-08-28


It was a bug in my program. I updated the program.
Please download the new version:

Hope it's working!

Devonic (author)2013-08-27

Thanks for the prompt reply !
Here you go :

Devonic (author)2013-08-26

The vb program just crashes when attempting to connect with Arduino (i'm using a leonardo) and have net framework 4 installed. please help ..

wouterdoornbos (author)Devonic2013-08-27

Are you sure you have selected the right COM-port?
If that didn't work can you send me an screenshot of the error?


dxlrant (author)2013-07-10

Dito, it remembers me of a lcd smartie... I think they're called

unbentcrayfish (author)2013-06-30

cool idea