Introduction: MSP430G2231 Standalone Environment Temperature Automatic Control System ( Any Fan )

Some of the parts you can get from your local electronic store:

1) Universal soldering board like this:

2) TIP 121 (ST) Darlington transistor

3) LM35 Temperature sensor:

4) Molex power supply connector

5) 4-Pin fan connector

6) Computer fan with PWM control option

7) A fan grill

9) Radiator for the TIP 121

10) 4 metal screws with a nut, long enough to go trough the both fan holes and the grill.

11) 2 metal screws with a nut, for bolting the TIP121 with the radiator to the metal fan grill

12) Small enough proper DC/DC converter to power out MSP430:

13) MSP430 ;)

14) 5 meters of shielded 2-wire audio cable ( Black, red and shield ).

This system can also be powered easily using a car battery ( The one I used for making it ).

Attention: The connection scheme showed here supports non-PWM fans (
These with black and red, but some times a yellow wire ). They are not very nice to control with MSP430, because PWM is slow and you can hear the beeping. For using this project with a PWM fan, you have to connect the PWM signal of the fan directly to the controller's timer PWM pin and the TIP121's base to a GPIO port of choice ( I used P1.7 to enable/disable the fan when the temperature (exceeds/raises above) the reference ). This will make the system more quiet.

First we need to take a look at MSP430G2 pin-outs and make the needed electrical connections. I used P1.0 GPIO for the external LED, P1.5 configured as analog A5, P1.6 configured as timer PWM. Of course, we also need the external 47k resistors to P1.3 and reset.

Everything can be put together in a 120mm fan old computer power supply case ( Not that there is not a better option, but that was the only thing i found laying around )

Using a couple of computer motherboard metal spacers and nuts, you can tightly secure the PCBs in place.
For the fan, I bought 4 long screws and nuts, a fan protective grill for 120mm.

Apply thermal compound to the radiator and bolt the TIP 121 onto it with a connection of choice. Extend the E,B and C, TIP 121 pins with thicker cables and connect it to the scheme. The LM35 (DZ - for degrees Celsius if you are from Europe like me ;) ) can be supplied with variety levels of voltages from 4 to 20V DC. It seems to be nice to use 8 volts here ( (20-4) / 2 ), though it is not standard and I went for 12, supplied from the external source ( The car battery ).
Solder a bridge cable between the two negatives of the MCU's power supply DC/DC converter to balance the ground currents so your MCU can read the temperature correctly. Add an external LED with a 470 ohm resistor to monitor the error of the P-controller. If it glows, its negative, if it's shut off its positive and the fan blows.

Now take the audio cable solder the red wire to the LM35 power pin, shield to the ground pin, and middle pin ( signal output ) to the black wire, that goes directly to the MCU's analog. Done

If you are using Code Composer Studio, you can clone my repository:

If you want to see it in action: Youtube key: u5_90dXQyIs ( You know ... watch?v = KEY)

If you want to take a loot at the finished product: Youtube key: WmvX3N7gXTw