Well, I got a new case for my server and it took 120mm fans, so I had to buy new fans for it. I got a nice blue LED fan for the front but one of the LED's was burned out and it didn't look good, plus the fan was loud and I was out of controllable channels on my motherboard. I got a free replacement for the bad LED, but I already had my mind set on converting the fan with the bad LED into something much better using what I'd learned about microcontrollers last Fall. The plan? A self-contained, digital, full control fan controller based around an AVR microcontroller that could have fine control over the fan's speed, read back the RPM, and control not just the brightness of the LEDs but also the color. Having seen a lot of cool projects using RGB (red-green-blue) LED's online, I figured it would be a good project.
Step 1: Find a suitable fan for modification.
Things you want:
Clear plastic. Tinted plastic may give unwanted effects (but if you want to try, go ahead, it may produce a neat effect, I tried one RGB LED on a blue-tinted fan and it looked OK). Black plastic won't give you the same effect, though I've seen LED fans that have black plastic and they do give the LED lines when spinning.
3rd wire (RPM sensor wire). This wire (usually yellow or white) is what fan controllers use to count RPM. It pulls low (connects to ground) twice per revolution of the fan, so you count falling edges per minute and divide by 2 (or count falling edges per second, divide by 2, and then multiply by 60).
3-pin connector. The 3-pin connector is a PC fan standard, it's the connector that motherboards use and it's the connector I designed my controller to use. Some newer fans that use 4 pin connectors won't work for this project. It may have a 4-pin Molex (power supply) connector, I just cut it off and used that connector to connect the fan controller to my computer's power supply.