555 PWM Fan Controller

May 18, 2022
555-timer oscillator


This was one of the first boards I put together from scratch and through-hole parts, and the much simpler second version with a nicer layout. The finished protoboard fits into a 3D printed base and controls a pair of 12V 80mm PC fans. It was originally built to be my solder fume fan, but has since been replaced by a single 150mm fan that is much more effective at extracting fumes.

Both boards were based on the 555 timer and produce a PWM signal using an astable oscillator. The first version was somewhat overly complex, using an LDO to regulate 5V for the output and a second potentiometer to tune the frequency, and with a pair of ceramic caps supporting each component, that added 3 or 4 unnecessary capacitors. Some basic quality of life features were also left out, like a power switch.

The range of duty cycles was good, from about 18% to 99%, but the frequency was not stable at all and wandered as the duty cycle was adjusted. At the minimum cycle it ran at about 16.7kHz, at the maximum it ran near 49kHz, with a dip to 11.6kHz in the middle around 45%. I’m not sure how I managed that, but it caused some audible noise from the fans as their speed fluctuated.

The second version increased the frequency and greatly simplified the circuit, but supports a much smaller range of duty cycles - from 40% to about 80%. Since this is a filter fan, the very low speeds are not very useful, and the upper range is plenty. This design uses far more resistors: a pair in series with the potentiometer, because I wanted a higher value, and current-limiting on each of the LEDs, along with the transistor’s base. The series resistance on the potentiometer is part of what reduced the duty cycle range, but the math worked out to a much better and more stable frequency of 50kHz. This version has a power switch, with test points for checking or supplying voltage, and the 555 is socketed because I had a bag of sockets on my desk at the time.

Note that this design puts out a 12V PWM signal, which can damage some fans. Make sure the fans you are using can tolerate a 12V signal on the PWM pin, and make sure to limit the current flow with an appropriate resistor. The design could be improved by moving the output LED and PWM pin to the collector side of the transistor, I think. The datasheet for the Arctic fans that I used does not specify the PWM voltage, so I assume they are meant for 5V, but it does include a speed/duty cycle graph which shows everything under 20% being ignored by the fan.

Parts Used (v2)

Part Value
C1 1 nF
C2 1 nF
D1 1N4148
D2 1N4148
D3 LED
D4 LED
Q1 2N222A
R1 4.7k
R2 100
R3 1k
R4 4.7k
R5 4.7k
R6 470
RV1 10k
U1 TLC555CP

There is also a DC barrel jack and SPST or SPDT microswitch. The two pin headers near the barrel jack are test points for providing or checking the supply voltage.