If you have a fan that needs the speed regulated than a Schmidt Trigger such as this is one way to do it.
Basically a Schmidt trigger works with PWM pulse width modulation.
If you are really interested in knowing all the workings of Schmidt Trigger and PWM then check the links below.
Schmidt Trigger Wikipedia
Pulse Width Modulation Wikipedia
Step 1: Circuit and Testing
The circuit i used is very simple with few parts but it works really well.
The fan will come to a complete stop with minimal buzzing.
I have made other speed controllers and they do not let the motor come to a complete stop and have a lot of interference ( buzzing ).
Step 2: Parts
1) 4093 Schmidt Trigger
1) 14 pin IC Socket
1) 1K resistor
1) 100K pot
1) #103 Cap
1) #104 Cap
1) IRF520 MosFet
2) 1N4148 Diodes.
Perf board if you decide to build it on that.
I will use Photo Resist and etch a board.
Step 3: Eagle
I have loaded these screen shots as well as the Eagle files.
I have made the board so the pot can be either mounted on the board or remotely mounted
In the case of remotely mounted just solder wires to the board that are long enough to attach the pot where ever it is mounted.
Solder Pads 1, 2, 3 are for the Pot
Solder Pad 6 is +12V
Solder Pad 5 is Fan Pos
Solder Pad 7 is Circuit GND
Solder Pad 5 is GND OUT to the fan
This is not my design. I found it on line.
Step 4: Ghetto Exposure Box. PCB
Ghetto PCB is low budget. I do not have a fancie IR light box or even a poorly made light box.
I use a regular old CFB. Expose time 4 to 5 minutes.
There is a lot of ibles with exact procedures if you need more info.
Step 5: Populating the Board.
The 4093 needed to be in a socket. It could not take the heat of soldering.
Sorry i do not have any pics of the install and operations. My Web cam only goes so far from the pc with the USB cable.
I am sure i have left out some important info, so ask if i didn't explian well.