Fan Controller

Home About Controller Schematics Hardware Downloads

Welcome to my fan controller information page.

Follow the navigation links above for details of the project. Please note the license terms as detailed under the About page.

If you would like to leave feedback drop me an email! I'd love to hear if you have successfully built your own controller using this information.

Change Log:

Date Comment
12 August 2005 After several years of running this custom fan controller in my main PC I've eventually decided to retire it.

The main reason for this is because I need to reduce noise levels even further. The known downside of using PWM for fan control is that it introduces vibrations into the case which can increase noise levels. The vibrations from the PWM can also cause resonances within the case which I've noticed when changing the fan duty cycles.

In a email response so 'Eaglespirit' who sent me an email not too long ago asking about PWM I had the following reply:

PWM does cause extra vibrations in the fans which can also lead to extra noise if the fans transfer this vibration to the case. It does depend on the PWM frequency. My controller uses quite a low frequency (I can't remember right now what that is - but its quite low - check the firmware source code). I played around during prototyping with different frequencies to try and reduce vibration and noise and got it down to a reasonably quiet level - lower was better. But yes, PWM does cause extra noise, but its quieter than running fans at full RPM! Linear fan control is obviously ideal in terms of noise, but the power dissipation is higher and it's less efficient.

I'm not planning on making design improvements at this stage but I have some ideas for future improvements:

  • Filter fan drive outputs using a low pass filter with a very low cutoff frequency, leaving basically just the DC component. In this configuration the controller will be a PWM to voltage converter which would be a simple way of changing the existing design to perform linear fan speed control (by voltage).
  • Add a feature to the firmware that will drive the fan speeds to default (same as startup speeds) when communication with the host application is lost.
  • Port the controller host application to Linux.
And many others...
2 August 2004 Added a comment on the schematics page regarding the 2.6V reference.
22 March 2004 New version released (1.21). See Downloads page for details.
30 Sept 2003
  • Updated Controller application. See Downloads page for details.
  • Added new PIC firmware compiled with different default startup speeds for all fans. Use these HEX files instead of the one provided in the file to have default startup speed less than 100%.
  • Modified license to GPL. See About page.
13 Oct 2002
  • Added new V1.1 fan controller application with support for newest MBM software (
  • Small layout changes. Moved information page to separate about page.
  • I've moved this site from Geocities as it seems their data allowances are too low for the amount of traffic this site is receiving. The guest book links are still functional, but feel free to comment by sending me email.
3 May 2002 I have added a new file for download. A static linked version of the EXE.
3 May 2002 Unfortunately I haven't included the DLLs required for the windows fan controller application. The exe provided in the above zip file requires MFC70.DLL and some other DLLs that are installed as part of Visual Studio .NET. I unfortunately don't have it installed at the moment so I will need to rebuild it with VSS6 and include the DLLs (or provide a static linked version).

Last update: 12 August 2005

(C) 2001
Contact email