This Ask Slashdot article sparked an idea that I think I may try to follow up on. In it, the submitter asks for recommendations for inexpensive PC peripherals that he can use to monitor his home’s temperature remotely. He seems to be looking for actual external temperature sensors with reporting capabilities, but why spend a few bucks on that when most CPUs and motherboards already have built-in temperature sensors?
To be fair, this guy’s solution is even easier, and this guy seems to be thinking the same thing I am. But it doesn’t look like they’re being taken seriously.
Unless I’m forgetting something, all you’d need to do in order to get a reasonably accurate measure of the ambient room temperature is compile some statistical data. Use Motherboard Monitor or a similar tool to log a few hours worth of temperature data at regular intervals while the computer is idle, and use a common household thermometer to log the room’s ambient temperature at those same intervals. Find the average correlation between the two sets of readings, and you’ll then be able to calculate the ambient temperature from the CPU temperature with reasonable precision.
Some people run distributed computing applications to avoid wasting their processor’s idle cycles. This doesn’t pose a problem, since we can reasonably assume that, in this case, the processor will be at full load 100% of the time. You’ll be able to find a valid correlation that will produce good readings as long as the processor load (and thus the amount of heat it generates) remains consistent.
One place where I can see a problem is with inconsistent cooling systems. Some CPU fans, case fans, and especially power supply fans will automatically adjust their speed based on temperature. It’s not a problem as long as the fan behavior is consistent at the same CPU loads at which the calibration readings are taken, except that it’s technically possible that a large enough change in ambient temperature, even while the CPU is running at a consistent and calibrated load, could cause a fan to speed up, thus lowering the CPU temperature with respect to ambient temperature and ruining the calibration. Still, this would probably happen so rarely that it’s not a prohibitive factor.
I think, when I get some free time, I might play around with this idea and see what I can come up with.