Jump to content

Arduino CPU Temp monitor on 16x2 LCD

ashinu77
Go to solution Solved by ashinu77,

Hey everybody,

 

Just solved the problem! Thanks for the help anyway. It alternates between CPU and GPU every 2 seconds. And also shows CPU usage all the time at the bottom right of the screen.

 

photo_2019-12-26_00-19-17.thumb.jpg.1f32de6e45d6ed9649b778993aaa5cb1.jpg

Hi there,

 

I'm trying to build an Arduino PC statistics monitor where my computer's sensors will be used to display and output stats like CPU temperature or RAM usage, etc. (Please see below image to what I aim for)

Related image

 

Thing is, based on where I live, I can't really get all the parts needed to build it (as per most popular instructables tutorials) and have to do with the following hardware:

 

1 x Arduino Mega and Arduino Uno

1 x 16x2 LCD

 

That's all I have. I do not have those fancy I2C convertors, interfaces bla bla.

 

Can someone please help me out or point me out in the right direction please?

 

Thanks and regards,

ashinu77

 

 

Link to comment
Share on other sites

Link to post
Share on other sites

Why get in all this trouble, when there are simple software to monitor everything?

CPU:i7 9700k 5047.5Mhz All Cores Mobo: MSI MPG Z390 Gaming Edge AC, RAM:Corsair Vengeance LPX 16GB 3200MHz DDR4 OC 3467Mhz GPU:MSI RTX 2070 ARMOR 8GB OC Storage:Samsung SSD 970 EVO NVMe M.2 250GB, 2x SSD ADATA PRO SP900 256GB, HDD WD CB 2TB, HDD GREEN 2TB PSU: Seasonic focus plus 750w Gold Display(s): 1st: LG 27UK650-W, 4K, IPS, HDR10, 10bit(8bit + A-FRC). 2nd: Samsung 24" LED Monitor (SE390), Cooling:Fazn CPU Cooler Aero 120T Push/pull Corsair ML PRO Fans Keyboard: Corsair K95 Platinum RGB mx Rapidfire Mouse:Razer Naga Chroma  Headset: Razer Kraken 7.1 Chroma Sound: Logitech X-540 5.1 Surround Sound Speaker Case: Modded Case Inverted, 5 intake 120mm, one exhaust 120mm.

Link to comment
Share on other sites

Link to post
Share on other sites

1 minute ago, Constantin said:

Why get in all this trouble, when there are simple software to monitor everything?

Probably for fun and learning purposes, there's nothing he could possibly lose, only gain.

Quote or Tag people so they know that you've replied.

Link to comment
Share on other sites

Link to post
Share on other sites

1 minute ago, _Syn_ said:

Probably for fun and learning purposes, there's nothing he could possibly lose, only gain.

I wouldn't.

But if he is enjoying it, all good!

CPU:i7 9700k 5047.5Mhz All Cores Mobo: MSI MPG Z390 Gaming Edge AC, RAM:Corsair Vengeance LPX 16GB 3200MHz DDR4 OC 3467Mhz GPU:MSI RTX 2070 ARMOR 8GB OC Storage:Samsung SSD 970 EVO NVMe M.2 250GB, 2x SSD ADATA PRO SP900 256GB, HDD WD CB 2TB, HDD GREEN 2TB PSU: Seasonic focus plus 750w Gold Display(s): 1st: LG 27UK650-W, 4K, IPS, HDR10, 10bit(8bit + A-FRC). 2nd: Samsung 24" LED Monitor (SE390), Cooling:Fazn CPU Cooler Aero 120T Push/pull Corsair ML PRO Fans Keyboard: Corsair K95 Platinum RGB mx Rapidfire Mouse:Razer Naga Chroma  Headset: Razer Kraken 7.1 Chroma Sound: Logitech X-540 5.1 Surround Sound Speaker Case: Modded Case Inverted, 5 intake 120mm, one exhaust 120mm.

Link to comment
Share on other sites

Link to post
Share on other sites

16 minutes ago, ashinu77 said:

I can't really get all the parts needed to build it

Why not? Ebay is chock-full of those and they cost pennies and peanuts. Why not list what you need?

Hand, n. A singular instrument worn at the end of the human arm and commonly thrust into somebody’s pocket.

Link to comment
Share on other sites

Link to post
Share on other sites

Just now, Constantin said:

I wouldn't.

But if he is enjoying it, all good!

Personally, I'd say learning stuff in and of itself is a very valid reason to do stuff, even if what you're doing was useless.

Hand, n. A singular instrument worn at the end of the human arm and commonly thrust into somebody’s pocket.

Link to comment
Share on other sites

Link to post
Share on other sites

10 minutes ago, WereCatf said:

Personally, I'd say learning stuff in and of itself is a very valid reason to do stuff, even if what you're doing was useless.

There are many domains to learn stuff, there is no way you can deal with all of them! 

CPU:i7 9700k 5047.5Mhz All Cores Mobo: MSI MPG Z390 Gaming Edge AC, RAM:Corsair Vengeance LPX 16GB 3200MHz DDR4 OC 3467Mhz GPU:MSI RTX 2070 ARMOR 8GB OC Storage:Samsung SSD 970 EVO NVMe M.2 250GB, 2x SSD ADATA PRO SP900 256GB, HDD WD CB 2TB, HDD GREEN 2TB PSU: Seasonic focus plus 750w Gold Display(s): 1st: LG 27UK650-W, 4K, IPS, HDR10, 10bit(8bit + A-FRC). 2nd: Samsung 24" LED Monitor (SE390), Cooling:Fazn CPU Cooler Aero 120T Push/pull Corsair ML PRO Fans Keyboard: Corsair K95 Platinum RGB mx Rapidfire Mouse:Razer Naga Chroma  Headset: Razer Kraken 7.1 Chroma Sound: Logitech X-540 5.1 Surround Sound Speaker Case: Modded Case Inverted, 5 intake 120mm, one exhaust 120mm.

Link to comment
Share on other sites

Link to post
Share on other sites

10 minutes ago, Constantin said:

There are many domains to learn stuff, there is no way you can deal with all of them! 

Um, so? You're saying that it's pointless to learn anything, unless you can learn everything? That's stupid. Learning something is always better than learning nothing.

Hand, n. A singular instrument worn at the end of the human arm and commonly thrust into somebody’s pocket.

Link to comment
Share on other sites

Link to post
Share on other sites

Well you could ask and ask and complain and complain.
But i found no other way then going for an i2c display, then the Arduino still has some use left as there are usable pins left over.

Unless you can figure out the programming yourself theres almost nothing usefull on the 16x2 displays for Arduino. (i have a couple of those display's i know).
I just tossed the free displays and bought one with i2c on it.

When i ask for more specs, don't expect me to know the answer!
I'm just helping YOU to help YOURSELF!
(The more info you give the easier it is for others to help you out!)

Not willing to capitulate to the ignorance of the masses!

Link to comment
Share on other sites

Link to post
Share on other sites

12 minutes ago, Constantin said:

There are many domains to learn stuff, there is no way you can deal with all of them! 

With that outlook why even type? Why even continue living?
You dont learn you dont live. And its easier to learn what you like.

When i ask for more specs, don't expect me to know the answer!
I'm just helping YOU to help YOURSELF!
(The more info you give the easier it is for others to help you out!)

Not willing to capitulate to the ignorance of the masses!

Link to comment
Share on other sites

Link to post
Share on other sites

1 minute ago, WereCatf said:

Um, so? You're saying that it's pointless to learn anything, unless you can learn everything? That's stupid. Learning something is always better than learning nothing.

I totally agree with you, but you didn't get my way of thinking

CPU:i7 9700k 5047.5Mhz All Cores Mobo: MSI MPG Z390 Gaming Edge AC, RAM:Corsair Vengeance LPX 16GB 3200MHz DDR4 OC 3467Mhz GPU:MSI RTX 2070 ARMOR 8GB OC Storage:Samsung SSD 970 EVO NVMe M.2 250GB, 2x SSD ADATA PRO SP900 256GB, HDD WD CB 2TB, HDD GREEN 2TB PSU: Seasonic focus plus 750w Gold Display(s): 1st: LG 27UK650-W, 4K, IPS, HDR10, 10bit(8bit + A-FRC). 2nd: Samsung 24" LED Monitor (SE390), Cooling:Fazn CPU Cooler Aero 120T Push/pull Corsair ML PRO Fans Keyboard: Corsair K95 Platinum RGB mx Rapidfire Mouse:Razer Naga Chroma  Headset: Razer Kraken 7.1 Chroma Sound: Logitech X-540 5.1 Surround Sound Speaker Case: Modded Case Inverted, 5 intake 120mm, one exhaust 120mm.

Link to comment
Share on other sites

Link to post
Share on other sites

2 minutes ago, HanZie82 said:

With that outlook why even type? Why even continue living?
You dont learn you dont live. And its easier to learn what you like.

You must have a super hero brain to learn EVERYTHING!!!!!!

You learn what you need and what you enjoy! end of the fairy tale story.

CPU:i7 9700k 5047.5Mhz All Cores Mobo: MSI MPG Z390 Gaming Edge AC, RAM:Corsair Vengeance LPX 16GB 3200MHz DDR4 OC 3467Mhz GPU:MSI RTX 2070 ARMOR 8GB OC Storage:Samsung SSD 970 EVO NVMe M.2 250GB, 2x SSD ADATA PRO SP900 256GB, HDD WD CB 2TB, HDD GREEN 2TB PSU: Seasonic focus plus 750w Gold Display(s): 1st: LG 27UK650-W, 4K, IPS, HDR10, 10bit(8bit + A-FRC). 2nd: Samsung 24" LED Monitor (SE390), Cooling:Fazn CPU Cooler Aero 120T Push/pull Corsair ML PRO Fans Keyboard: Corsair K95 Platinum RGB mx Rapidfire Mouse:Razer Naga Chroma  Headset: Razer Kraken 7.1 Chroma Sound: Logitech X-540 5.1 Surround Sound Speaker Case: Modded Case Inverted, 5 intake 120mm, one exhaust 120mm.

Link to comment
Share on other sites

Link to post
Share on other sites

The easiest way to connect your Arduino to the PC is through a serial port. Then, an application on your PC can periodically send the info to your Arduino, which then displays it on screen.

 

Modern computers may or may not have serial ports.  If your pc no longer has serial ports, you can buy a usb to serial adapter cable / device which creates a serial port.

 

Serial ports use a negative voltage for digital "1" and no voltage for 0.

Microcontrollers output 5v for 1 (or whatever the voltage the micro is powered with), so if you want to connect directly to the PC, you need to convert this 5v and 0v to -12v and 0v, using a transceiver chip.

An example of such a chip is MAX232 and here's a schematic which powers the chip from the serial port and converts the negative voltages to 5v :

 

image.png.336a92e92fd302a15385656f31c31f17.png

 

 

You can buy  USB to Serial converts that directly output Serial TTL (the 5v version that works directly with microcontrollers), here's examples:  https://www.ebay.com/sch/i.html?_from=R40&_trksid=m570.l1313&_nkw=usb+to+rs232+ttl&_sacat=0

 

The benefit is you can also use the 5v from USB cable to power your board.

 

Anyway, from this point you can write a small application that reads the temperature or fan speeds from somewhere and formats it into some format your arduino understands, sends it through the serial port... repeat.

 

There's freeware/open source tools and some info is available through windows api.

 

Worst case scenario, you can use a tool like hwinfo with the option to log to file the measurements and run it in background, and every few seconds you parse the log from hwinfo and extract the info you want.

 

 

Link to comment
Share on other sites

Link to post
Share on other sites

41 minutes ago, mariushm said:

The easiest way to connect your Arduino to the PC is through a serial port.

Actually, the easiest way would be to just use the USB-port on them. Arduino Uno and all the other ones without native USB have a separate serial-to-USB chip (CH340g or CP2102) on them already on the PCB.

Hand, n. A singular instrument worn at the end of the human arm and commonly thrust into somebody’s pocket.

Link to comment
Share on other sites

Link to post
Share on other sites

2 hours ago, Constantin said:

Why get in all this trouble, when there are simple software to monitor everything?

The reason I'm doing this is for aesthetic purposes. I have a tinted glass panel side case, and I am looking forward to displaying the CPU temperature (and any other pc stat) from within the case towards the outside.

2 hours ago, WereCatf said:

Why not? Ebay is chock-full of those and they cost pennies and peanuts. Why not list what you need?

Doesn't deliver to my country without shipping prices so high that I possibly could go fly get them myself and come back :P And if it's from China, it never arrives xD

 

41 minutes ago, WereCatf said:

Actually, the easiest way would be to just use the USB-port on them. Arduino Uno and all the other ones without native USB have a separate serial-to-USB chip (CH340g or CP2102) on them already on the PCB.

Yes, going this route.

Link to comment
Share on other sites

Link to post
Share on other sites

Sparkfun and Adafruit are good places to look for things.

 

Personally, I have a 32x32 matrix strapped to the front of my computer. I use an Arduino Uno to power it. The temperature sensor I use for my water temps is just a standard one you'd buy that screws into a port.

https://www.adafruit.com/product/607

https://www.amazon.com/Barrow-Temperature-Sensor-Fitting-Black/dp/B01M7QXUBJ/ref=sr_1_10?crid=38PCO2DAMCIBM&keywords=pc+water+temperature+sensor&qid=1577251026&sprefix=pc+water+temprea%2Caps%2C169&sr=8-10

 

Here's the article I used followed to set it up.

https://learn.adafruit.com/tmp36-temperature-sensor/using-a-temp-sensor

Link to comment
Share on other sites

Link to post
Share on other sites

On 12/24/2019 at 9:06 AM, ashinu77 said:

Thing is, based on where I live, I can't really get all the parts needed to build it (as per most popular instructables tutorials) and have to do with the following hardware:

Alot of the replies here seem to be focusing on the wrong point:

 

On 12/24/2019 at 9:06 AM, ashinu77 said:

I'm trying to build an Arduino PC statistics monitor where my computer's sensors will be used to display and output stats like CPU temperature or RAM usage, etc.

The thing is, I don't think that you actually need any separate components. It should be possible to, using the same methods that tools like HWMonitor or CPU-Z use, write a program that runs on your computer which collects the data from on board sensors, and then write it to your Arduinos serial port, where you can decode it and display it. This might be, rather difficult, but it's possible.

The only time IMO that external sensors would be absolutely required is if you are trying to catch ambient air temperature, liquid temperature, or liquid flow.

ENCRYPTION IS NOT A CRIME

Link to comment
Share on other sites

Link to post
Share on other sites

23 hours ago, Inelastic said:

Sparkfun and Adafruit are good places to look for things.

 

Personally, I have a 32x32 matrix strapped to the front of my computer. I use an Arduino Uno to power it. The temperature sensor I use for my water temps is just a standard one you'd buy that screws into a port.

https://www.adafruit.com/product/607

https://www.amazon.com/Barrow-Temperature-Sensor-Fitting-Black/dp/B01M7QXUBJ/ref=sr_1_10?crid=38PCO2DAMCIBM&keywords=pc+water+temperature+sensor&qid=1577251026&sprefix=pc+water+temprea%2Caps%2C169&sr=8-10

 

Here's the article I used followed to set it up.

https://learn.adafruit.com/tmp36-temperature-sensor/using-a-temp-sensor

Thank you so much for your response, but not quite what I was looking for since I have all sorts of external sensors that are built for Arduino/Raspberry Pi/Adafruit but instead of using them, I want to use the inbuilt sensors of the motherboard itself.

Link to comment
Share on other sites

Link to post
Share on other sites

13 hours ago, straight_stewie said:

Alot of the replies here seem to be focusing on the wrong point:

 

The thing is, I don't think that you actually need any separate components. It should be possible to, using the same methods that tools like HWMonitor or CPU-Z use, write a program that runs on your computer which collects the data from on board sensors, and then write it to your Arduinos serial port, where you can decode it and display it. This might be, rather difficult, but it's possible.

The only time IMO that external sensors would be absolutely required is if you are trying to catch ambient air temperature, liquid temperature, or liquid flow.

Yeah exactly! Thank you so much for being on point haha. I have a lot of external sensors lying around but I do not wish to use them. I want to somehow, using the softwares you mentioned or even something like CoreTemp, get the values that output there, ping onto my Arduino LCD screen every second or so.

Link to comment
Share on other sites

Link to post
Share on other sites

Hey everybody,

 

Just solved the problem! Thanks for the help anyway. It alternates between CPU and GPU every 2 seconds. And also shows CPU usage all the time at the bottom right of the screen.

 

photo_2019-12-26_00-19-17.thumb.jpg.1f32de6e45d6ed9649b778993aaa5cb1.jpg

Link to comment
Share on other sites

Link to post
Share on other sites

  • 2 months later...
On 12/26/2019 at 5:14 AM, ashinu77 said:

Hey everybody,

 

Just solved the problem! Thanks for the help anyway. It alternates between CPU and GPU every 2 seconds. And also shows CPU usage all the time at the bottom right of the screen.

 

photo_2019-12-26_00-19-17.thumb.jpg.1f32de6e45d6ed9649b778993aaa5cb1.jpg

This looks veery interesting, how did you do it? Would you mind sharing the code?
How did you interfaced the arduino with the computer? 

Link to comment
Share on other sites

Link to post
Share on other sites

  • 3 months later...
On 12/26/2019 at 9:14 PM, ashinu77 said:

Hey everybody,

 

Just solved the problem! Thanks for the help anyway. It alternates between CPU and GPU every 2 seconds. And also shows CPU usage all the time at the bottom right of the screen.

 

photo_2019-12-26_00-19-17.thumb.jpg.1f32de6e45d6ed9649b778993aaa5cb1.jpg

Hey mate, I am trying to do the exact same thing and my Google searching led me to you. Would you be willing to share the code to get this working? Cheers

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×