Electronics ru
Advanced Search +


Intelligent Fan Controller. Part 3 - Software and controller configuration

Part 1 - Schematic
Part 2 - Construction Notes, Fan Types and temperature sensors

A new version (v1.1) of the Windows desktop application is available. The significant differences from the first version (v1.0) are:

  • A new menu item (Program Settings...) has been added under the Setup menu. This will open a dialog box where you can set the full scale for the bar graphs, the voltage reading for the +5V supply and set the program to minimise to the system tray.
  • Using the Program Settings dialog box you can enter the measured value of the +5V supply in your computer. The microcontroller uses the +5V supply as its reference when measuring the output of the LM335Z temperature sensors and any variation from 5V will cause a large inaccuracy in the reported temperature. You should use a digital multimeter to measure the value of the 5V supply at the Fan Controller power connector and enter the measured value in the Program Settings dialog box. The Windows software will then use this value to correct for any errors made by the microcontroller when it measures the temperature.
  • Also in the Program Settings dialog box you can force the program to minimise to the system tray. The application will keep running (it uses a minuscule amount of your computer's CPU) and so you can check the temperature readings by hovering the mouse over the icon.
  • A number of changes have been made to make the Windows software more tolerant of errors in the data stream received from the Fan Controller. The software will now wait longer (12 seconds) without receiving anything before it assumes that the controller is not running and, if there has been an error in the data received from the controller, it will ask the controller to resend the data.

This new version is available from the download section at the bottom of this page. Because it contains some important improvements (particularly the ability to enter the measured value for the +5V supply) it is recommended that you install it.

The new version can be installed over the old version although the Microsoft .NET framework will only let you do this from the same folder as the original installation. Alternatively you can uninstall the original version and then install the new version. Because all settings are held in the microcontroller on the Fan Controller board you will not loose them, even if you completely uninstall the old version.

The Software

The great feature of this design is that it comes complete with desktop software for setting up the controller and monitoring its operation. It will work on all modern versions of Windows (XP, Vista and Windows 7) in both 32 and 64 bit modes.

Вид окна управляющей программы для контроллера вентиляторов охлаждения ПК

Unfortunately Mac and Linux users are left out but there is some good news. The Fan Controller implements the CDC (Communication Device Class) protocol over USB and there is native support for this in Linux (the cdc-acm driver) and Apple OS/X. The Fan Controller appears as a standard serial communications device to the operating system and the commands accepted by it are simple ASCII strings, so it would be easy to write your own software or use simple scripting to communicate with the controller.

The Windows desktop software works in two modes. In the monitoring mode it will display the temperatures (in °C or °F) and the speed of the fans in RPM. If the fan does not have a tachometer it will display the output power of the voltage converter (0 to 100%).

The second mode is used to configure the controller. In this mode you can select:

  • What sensors are connected and how the temperature should be displayed (in °C or °F).
  • The type of each fan connected (2, 3, 4 wire or not connected).
  • The sensor used to control each pair of fans. This can be sensor A, B, C or D. It can also be the difference between D and sensors A, B or C. Finally you can set the control to manual for a fixed speed or testing.
  • The control characteristics. As you can see in the above screenshot, the power (voltage supply) for each pair of fans can be varied from some minimum setting to 100% over a range of temperatures.

The software is available in the download section below and comes in three parts:

  1. The software package for your computer. This includes the serial over USB device driver for Windows and the desktop software shown above. You must be connected to the Internet when you install the desktop application as it uses the Microsoft .NET runtime and during installation components of this will be downloaded from the Microsoft web site.
  2. The program for the microcontroller. This is in the form of a HEX file and must be loaded into the microcontroller using a PIC programmer (not required for the Altronics kit which comes with a pre programmed microcontroller chip).
  3. The source code package which includes the source code for both the firmware and the desktop application. Both use free development environments (Microsoft’s VB Express 2008 and Microchip’s MPLAB C18 compiler). So you can experiment and modify both the firmware and desktop software to suit your own needs - or just look through it to satisfy your curiosity as to how it was done.

The software will install and run on a computer even though you have not built the fan controller. It was written in this way so that you can test the software and see if it and its characteristics will suit your requirements.


Firmware HEX file for the PIC2550 microcontroller. Version 1.0 - download
Windows software package (device driver and application). Version 1.1 - download
Source code for both the microcontroller (v1.0) and the Windows application (v1.1) - download

Slices ↓
Radiolocman facebook Radiolocman twitter Radiolocman google plus