[Christian] was running a Linux box as a home server but needed a way to quiet the noisy machine. Like many Linux servers, he’s using some pretty old hardware which doesn’t have an on-board header for the CPU fan which generates much of the unwanted sound. Those headers are nice because software can monitor the CPU and board temperature and adjust the fan accordingly.
[Christian's] solution was to use the serial port for the task. He built a small circuit in which serial pin 3 drives the base of a transistor, pin 5 provides ground, and a floppy drive power cable supplies 5 volts. From there he wrote a RUBY program to monitor the CPU temperature and generate a PWM signal on the serial port, throttling the fan speed as needed.
[CC Photo Credit: Garrette via Flickr]