[Taylor] popped a new graphics card into his computer, but before he could settle in for a round of gaming, his card started to overheat. He eventually tracked the problem down to an undersized power supply, but the prospect of cooking his new GPU to death made him think twice about how he was monitoring his system’s health.
To continually keep tabs on his video card’s temperature going forward, he put together a small circuit that will alert him if things start to get too hot. He mounted a small temperature sensor on his graphics card near the GPU, wiring it to an Arduino. The Arduino monitors his video card, lighting an RGB LED blue if conditions are alright. If the temperature rises above 50C, the LED changes to red, signaling a problem.
We’re aware that there are all sorts of software applications that can monitor component temperatures for you, but the appeal of [Taylor’s] system is that it can be easily seen from across the room rather than via the desktop. That said, we think that his system could take advantage of his PC’s case fan lighting for a more visible warning, and it wouldn’t hurt to wire in an auto-shutdown feature in case his computer overheats while he’s away.
I don’t see how an underpowered PSU will cause a GPU to overheat. Usually it’ll pop whatever breaker that PSU has (if it has one) or the PSU will pop and crackle and let the magic smoke out. Neat unit to monitor the temp as well. There are TONS of aftermarket temp monitoring hardware as well, but kudos to him fo rmaking his own :)
God I hate to keep eye on things i use daily basis. I’d consider my computer broken if I had to constantly keep eye on it. But its a nice example of intuitive mind facing a problem and solving it with own way :D
Oh, I thought he actually wired the monitoring LED’s to the fan LED’s, it would have made so much sense, but anyway, I guess that’s probably for V2.
Also, it’s a pity he put in a perfectly good UNO32 for such a basic task… the thing runs at 80Mhz to check an ADC.
Oh, I know I’m going to be flamed…
Also, since the Uno32 probably has a usb-to-serial thingie, he doesn’t even need the processing sketch, since he’s going to write that C++ program, he could monitor the temperature on his serial port instead of having that second program fetching the data.
Anyway, good for him for actually having got around to doing it.
I am confused at these computer temp warning hacks. Are not modern computers already taking care of this? ACPI bios monitors temperature, and makes it available to the OS. One could write a driver that simply activates something on the monitor, or communicates to a usb-connected device to turn on the lights. Also, using the ACPI built in devices, many new computers have the ability to lower processor speed to reduce heat generation.
Now the hacks that are external to the computer have the ability to run the fans when the computer is off. This is useful because the fans normally stop as soon as the computer is powered off, giving the large amount of heat still inside the heatsinks nowhere to go, and actually increasing system temperature for a time. Running the fans for an extra minute after the official “power-off” could greatly extend system life.
@Mike
Firstly, to answer your question, Yes all moden PCs have an ACPI module in the BIOS that allows system status to be reported back to the OS. However, if the operating system crashes, or the driver itself crashes or the software fails then there will be nothing polled from the BIOS.
Take an external hardware monitor and its independant of any problems, and thats what we’re monitoring lets not forget, in the machine.
Running the fans for a short time after the PC has powered off isn’t really needed, at least with physical thermal connection, such as CPU to heatsink because the thermal transfer of the heatsink is usually great enough when the power goes out of a CPU, that by the time the fan naturally slows down, the CPU itself is cool enough that running the fans for extra cooling wouldn’t help matters. The same can be said for systems case fans for a clean cable managed PC to expel excess heat.
Very cool. I think this is better than writing an app to monitor the system from the OS because it’s completely system independent. If your comp has locked up, or has put the screen to sleep, or if you just installed a brand new OS – no fear, it’s still monitored. And I also think it has some great potentials for a v2, which some have outlined in the comments already.
+1 Will – surely it’s like saying “The fire burnt brighter because there wasn’t enough oxegen..”
umm… Why add an Arduino? You have a PC and a temperature sensor for the GPU card. If you want to add the color changing lights to the fan just get on of these. http://bit.ly/nKpZJa and hack it.
Or if you have a slot one of these http://bit.ly/pQPU4X and do some soldering. People forget that the good old printer port is a good way to get cheap digital IO on your PC.
Sure, the printer port is a great way to get digital IO on any PC, except modern PCs haven’t come with printer ports (or even serial ports) in years… The new workstation (dual socket with two 6 Core Xeon X5650 CPUs) I just built doesn’t have one, my LGA1155 based gaming rig doesn’t have one, my old LGA775 based home server doesn’t have one either… So you’re looking at fairly old hardware (a few generations old) if it has printer and serial ports…
And for the little use it’d be seeing, it’s not worth buying a PCI/PCI-E parallel port, the USB to parallel cables don’t always work correctly, most are not bi-directional (which is needed for many functions to work). And besides, it’s still tied to the system, so when/if it crashes, freezes or anything else, it simply won’t work anymore.
Having the temp monitor running on its own hardware and software makes it much more reliable.
Very good starter app demonstrating how to make something usual with noobie programming/hacking skills.
@gmcurrie
Actually, a little too little oxygen will cause a fire to be brighter (give off more light) than the same fuel with as much oxygen as it wants. If it has enough oxygen, you won’t see the flame at all, but you will feel it…
@0x4368726973 – really? – wow – learn new thing every day – thx : )
0×4368726973 – that’s gotta be a op-code, yeah? (there has to be some kinda twist?) = ‘JSL’ ‘Jump to Same Location?’ or summik??
Feed Us! / or watch as we starve : )
50c is actually a bit low for most modern video cards, which typically run quite comfortably at 70c. I would change it to trip at 75 or 80c with a stock cooler, or 65 or 70c if you’re running a high performance aftermarket fan.
Nice Hack for overall merit. Build details warrant a closer evaluation for other uses too. Copying is kindness if a creator wants us to.
As for the comments RE: aftercooling, stalled CPU etc- those effects have slaughtered more components than many other failure inducing situations combined. Thermal management is a total cycle concept, from cold start to regulated operation to controlled cool down. Thermal stress from severe shocks and hot soaks can cause a dramatic lifespan decrease in systems.
Programmable curve controllers tend to have a payback period determined more by the “Total Ownership” concept than other factors.
Noise control is a non-trivial consideration too.
I’d gently suggest adding a “fail safer” circuit of a Normally Open Thermoswitch to at minimum switch in a dedicated fan+power source as being considerably cheap insurance compared to meltdowns. KISS engineering is a Very Good Thing even if it’s not the microcontroller geek cred that Arduino etc gives. I have used old home thermostats with the mercury switch directly controlling case fans way before Arduino et all even were around. If it hits 90F in the drive bay upper of a tower- something’s likely very wrong.
I laughed my ass off when I realized I have the exact same case as him. I think he would of been better off adding new thermal paste to the card and buying a temperature sensor to sit in one of his 5 1/4 drive bays.
I looked at this and I was like, dam, that [Taylor] must awesome.
When you are using an arduino anyway make it more interesting I say, add a servo and make it wave a little flag or something, a mere LED is wasting the use of the arduino.
Beauty of course is that because an arduino was used he can simply add stuff whenever he wants.
To me this actually seems very useful and should be applied to a lot of things that have a danger of overheating. Yeah, you can have a little widget that tells you the temperature but it’s much more intuitive to all if there’s a color coded light.
Everyone knows that red is hot and blue is cold.
Good job, but I dont see why the Arduino was necessary. This could of been done with pure hardware, and just about as simple.
Anyways, hats off to you.
could have* been done
Over all a pretty cool idea. I’m less concerned about the computer being so hot it’s going to burn out my gpu and more interested in just having a sorta visual indicator to show me that things are actually hot which is pretty cool. When I get some time I’ll probably actually do this though i’ll most likely just build a arduino and not waste a prebuilt one. It doesn’t need serial if your using a external temp sensor (though it might be cool to use the arduino for things other than temp sensor like volume control, or drive a LCD showing other things, or a led matrix) I would probably not have the blue leds and just use red ones and vary the brightness and calibrate it so that when the computer is idle the lights won’t be shown (I don’t like bright leds on my computer when i’m not using it)
Over all though I really dig this and it’s something I would of never thought of.
the link is dead !