Temperature hacking is fun

June 28, 2010

Computer overheating is a fairly dramatic process. Things break, melt, release smoke, and occasionally light on fire(or, according to Dan Brown, explode like giant tanks of napalm). However, what people often don’t realize is that computers, especially laptops, can also be damaged by temperatures that are too low The primary reasons for this are:

  • Operation below temperature tolerances. Most of the circuitry in a computer can handle low temperatures pretty well, but electromechanical devices(especially hard drives) and LCD screens are much more likely to fail at low temperatures
  • Rapid expansion/contraction:Rapid changes in temperature can damage integrated circuitry and screens, or cause chips to pop out of their mounts
  • Condensation:When a computer goes from a cold environment to a warm one, water trapped in the warm air condenses onto the cold metal of the computer. This can corrode or short the electrical circuitry

Underheating is a less frequent problem than overheating, because in most places where people use computers, the  ambient temperature is far above the minimum requirements of the computer. Unfortunately, this is not true of the college where I am going next year. having just received a brand-new Studio 16 laptop, I was not particularly willing to risk temperature-related failures or have to warm it up before use.

So I ended up writing a small Linux Java program called Shiver. The idea behind Shiver is that a computer is capable of generating enough heat to keep itself from being too affected by cold conditions–as long as the computer is in an active state. however, a computer that is  in standby mode can’t generate heat–most components are deliberately turned off to save power. Thus, a computer in standby in a cold area, when turned back on, will experience both a very rapid thermal expansion as well as low operating temperatures for devices like the hard drive(ironically, the hard drive is one of the slowest components to heat up).

What Shiver does is use integrated temperature sensors to act as a thermostat. It can be configured for any reasonable range of temperatures, and when temperature readings drop too low, pumps heat generated by the CPU around the computer. It also supports a state called “homeostatic standby”, which switches off power-intensive components like screens and network interfaces, but retains the ability to generate heat if necessary.

The test results on my studio 16 were pretty impressive–at an ambient temperature of 0 degrees Celsius, Shiver was able to maintain CPU temperature at 39 C and hard drive temperature at 38 C(it’s designed as a hot-running laptop, so the CPU figure is actually at the low end of the normal range)

Want to try it? You can download a .tar.bz2 here. A few things to consider:

  • You need to copy shiver.conf to your  /etc directory
  • The settings in shiver.conf are set to defaults that may or may not work on your machine. You can change them by editing the file–it’s pretty self-explanatory
  • If you have a power manager like Powerdevil or kPowerSave, make sure that it won’t try to suspend your computer when inactive. If it does, it will force the system to exit homeostatic standby and just go into regular suspend.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: