Intelligent CPU fan

What? Why?

Everybody hates noisy computers, and CPU fans generate a large part of the noise. Most of the time the CPUs are just idling and generating much less heat than when running on full load, so it makes sense to adjust the CPU fan speed according to the CPU temperature instead of just having the fan run on full speed all the time. Some ASUS motherboards have a functionality called Q-Fan, which basically does the same thing as this software, but it never reduces the fan speed under 11/16 of the original RPM, which is still too fast. Other manufacturers have similar technologies with different names on their motherboards.
With the motherboard (an ASUS one) already having the required hardware to set fan speeds, I didn't need any extra electronics. I just wrote my own software, which uses the Linux kernel interface for the super I/O chip used by ASUS to command the hardware to set the fan speed. Now I can set the lowest RPM myself, or even stop the fan completely at low enough temperatures.
You can try this too, just follow the instructions:
  1. Install lm-sensors on your Linux-system.
  2. Download my Python program here
  3. Edit it to set proper file names and fan speeds.
  4. Run it and hear your computer go quiet :)