DIY Fan Controller for PWM Fans

Intel's 4-pin "PWM" Connector

Intel's 4-pin "PWM" Connector

Introduction

I’m sure that most hardware enthusiasts are no strangers to dalliances with DIY, whether it be case modding, component modding, or custom cooling.  However, when it comes to building parts of your computer from scratch, the tally of enthusiasts who can claim this prestige most certainly diminishes.  Fortunately this neat fan controller project requires only a little time, expense, and commitment, and the circuit is relatively easy to build and very satisfying to use!

First Things First…What is PWM?

PWM stands for Pulse Width Modulation and is, among other things, a very clever means of controlling power to electrical devices: in our case a DC (direct current) fan motor.  Although you don’t need to understand the ins and outs of PWM, it helps to have an rough idea about how PWM works, so here’s a very quick explanation.

Think of a PWM signal as if it were a beating heart.  Rather than being powered by a continuous supply of power (which would ordinarily be the case) our DC fan motor is being fed with pulses of power; it is essentially being switched on and off very rapidly.  These on-off pulses are delivered to the motor several thousand times per second, and because the intensity (or width) of each pulse can be changed, so the speed at which the motor turns can be changed.  The image below shows how different pulse widths affect the resulting power of the PWM signal:

Three different PWM signals showing average voltage

PWM Controllers vs. PWM Fans

There are PWM controllers and there are PWM fans, but the way in which PWM is implemented in each differs greatly:  a standard PWM controller modulates the 12 V supply line of an “ordinary” 12 VDC motor. Conversely a PWM controller for PWM fans – such as the one featured in this article – doesn’t modulate the 12V supply line but instead sends a PWM signal along a different supply line (the magic “fourth wire”) to a more advanced 12 VDC motor, leaving the 12 V supply line uninterrupted.  Designated PWM fans not only have internal circuitry which differs from that of standard fans, but because they are designed with speed control in mind the motors themselves are usually more advanced (and expensive).  So, PWM speed control of a standard fan is indeed very different from PWM speed control of a PWM fan…  Nidec even goes so far as to say that modulating the main supply voltage is not advisable:

Pulse-width modulation of DC operating voltage to modify fan speed is not recommended. Transients generated by that approach can irreversibly damage motor commutation and control electronics and dramatically shorten the life of a fan.

The Circuit

Here is the circuit which was originally obtained from Nidec’s website, although I found it in the overclockers forum:

Nidec's Simple PWM Circuit

Nidec's Simple PWM Circuit

Components

  • 555 Timer IC (Integrated Circuit)
  • Capacitors:  C1 0.01 μF; C2 680 pF; C3 10 μF; C4 0.1 μF
  • Resistors:  R1 1k
  • Potentiometers:  P1 100k
  • Diodes: D1 & D2 1N4148

Building the Circuit

Now before you allow yourself to become intimidated by the above schematic and all these different components, make sure you are taking a calculated approach to the process of putting the circuit together.  The best thing to do is to take it one step at a time. Having done it myself (several times),  these are the steps that I find most conducive to hassle-free workflow:

  1. Plan your circuit on a piece of paper, familiarizing yourself with each component (learn what it looks like and what it does) and the layout of the circuit, and taking time to arrange it in such a way that it is clean and clear.
  2. Working from your plan, carefully assemble the circuit on a breadboard.
  3. Check and re-check all the connections.
  4. Connect the circuit to a power source – preferably a spare power supply that is not hooked up to a PC – and check to see if it works.
  5. Debug (identify problems and deal with them) if necessary.
  6. Again referring to your circuit plan, assemble the circuit on stripboard.
  7. Work on the presentation of your controller – eg., put it in a project box or into a drive bay.

Step 1:  Organize Your Components and Print a Plan of the Circuit

These are all of the components you need for the circuit

These are all of the components you need for the circuit

So, now you know what each component looks like.  Once you have your components arranged spaciously on an uncluttered flat surface (as above), get your breadboard ready!

Step 2:  Breadboarding

Components set out ready for breadboarding

Components set out ready for breadboarding

The wonderful thing about breadboarding is that it doesn’t have to be neat or tidy…or even compact.  The point of breadboarding a circuit is to give you, the “beta tester”, easy access to each and every component and connection, allowing you to quickly sort out problems and get your circuit up and running without having to worry about making permanent connections.  Here are a few simple pointers:

  • Take your time and keep your work area uncluttered.
  • Make sure your hands and fingers are clean before you start.
  • Use single-core wire for good connections to the breadboard tracks.
  • Leave some room around each connection/component to reduce the risk of shorting.
  • Remember to firmly press (but not force) the components and wires into place.

Step 3:  Check and Re-check the Connections

Carefully check that all terminals and pins are seated correctly

The reason this step is so important is that you are checking the connections solely with the power of observation; the breadboard should not be connected to a power source yet, and it is crucial that you carefully check each connection before the circuit gets anywhere near live wires.

Step 4:  Connect the Circuit to a Power Source and Test with a Fan

Breadboarding done and testing in progress!

Breadboarding done and testing in progress!

Connecting the breadboard to a live power source is, and always should be, the last thing you do (especially if you are a n00b, like me).  It is also advisable to use a spare/unconnected power supply, because if you happen to be so unfortunate as to cause a short circuit using the PSU that is connected to your computer, it may seriously damage the PSU and/or one of your PC components.  I can attest to this – my first attempt at a fan controller some weeks ago fried my treasured £300 Foxconn motherboard.  The PSU is fine (and has survived at least three further short circuits), however my experience tells me that even a good PSU like mine which has commendable SCP (short circuit protection) doesn’t guarantee the well-being of your components.  You have been warned!

And remember:  This circuit uses 5v, NOT 12v.

Step 5:  Debugging

Digital Multimeter - a must for testing circuits and components

Digital Multimeter - a must for testing circuits and components

Circuits generally don’t work the first time around, so be patient and acknowledge that you will probably have to do some debugging somewhere along the line.  It’s not a big deal, and although it may involve a fair bit of work, don’t worry about it – I had to debug my circuit (and in some ways I am still debugging it), and I had the overclockers.com forum community helping me every step of the way as I’m sure they will help anybody else who seeks assistance.  To make your life is a lot easier, get a digital multimeter if you don’t already have one.

Step 6:  Stripboard, Solder, and Sweat

My stripboard layout, created in MS Paint

My stripboard layout, created in MS Paint

When the time comes to make a proper circuit using scary grown-up tools like a soldering iron and a pair of wire cutters, it is definitely worth your while planning the layout of your circuit once again and trying to make it as compact as you can.  If you have space on your stripboard you might want to consider soldering a 4-pin fan header onto it to keep the controller tidy and practical.

The layout that I chose (above) is almost identical to the schematic of the circuit, which helped a great deal when the time came to put the circuit together and make sure all connections were made in the right place.  Stripboard has copper tracks that run along the underside of the board, so you must plan your circuit to accommodate these tracks and remember to break the tracks where necessary.  Here is a picture of the underside of my stripboard where the 555 IC is, hence the broken tracks:

Breaking tracks in the stripboard

Breaking tracks in the stripboard

Here is a picture of what is possible if components are extremely well laid out – this particular circuit was built by Martinm210 at overclockers.com forums and features a slightly different PWM generator using a 556 IC (two 555′s in one package) – see below for a schematic of this circuit:

Martinm210's PWM generator

Martinm210's PWM generator

Step 7:  Presentation

This is the icing on the cake.  You have finished your controller, but you don’t like the bedraggled morass of wires and terminals sitting beside your uber-modded and meticulously maintained gaming rig… so what should you do?  There are a number of answers, and it really comes down to what you want to use the controller for.  I use my controller for testing (well, playing with) very powerful PWM fans, so I packed it up inside a neat little project box to make it look a little more sophisticated and to make it more practical too:

The finished PWM controller

The prototype PWM controller

Project in a project box

Project in a project box

Developing the Circuit

As it is, the circuit should work well with most if not all PWM fans that you are likely to find in a hardware enthusiast’s box of tricks.  If, however, like me (and a few others) you want to engage in some turbulent tomfoolery with ludicrously powerful 12VDC fans (see below), you will need to boost the PWM signal or create a different PWM generator altogether which uses a 556 timer instead of a 555.  The circuits described below are featured in this exciting thread at overclockers.com forums.

Using Two 555 Timers

Here is a schematic of the dual-555 PWM generator.  This circuit boosts the existing PWM signal using an “inverted schmidt buffer” which was suggested by bing at overclockers.com forums:

A more powerful PWM generator

A more powerful PWM generator

Using the 556 Dual Timer

The 556 timer is a single 14-pin package which contains two 555s.  If you would rather build the more powerful 556-based PWM generator like the ones Martinm210 and Brutal-Force put together, here is the schematic (again, courtesy of bing):

556 Dual Timer circuit

556 Dual Timer circuit

(Components are identical to the 555 circuit but are labeled differently in this schematic:  C1 = 680pF; C2 = 0.01 μF; C3 = 0.1 μF; C4 = 10 μF, polarized.  There is also an extra resistor (R2) which has a value of 10K.)

The 556 Circuit on the breadboard

My 556 Circuit @ breadboard

Complete 556 circuit on a stamp-sized piece of stripboard

Complete 556 circuit on a stamp-sized piece of stripboard

Simple 4-pin Molex interface for the PWM controller

The box for the 556 circuit, complete with stylish aluminum pot and Molex connector for convenience

Two 4-pin fan headers for now

The business end of the controller - for me, two fan headers are plenty

Monstrous 260CFM 48W San Ace PWM Fan

Monstrous 260CFM 48W San Ace PWM fans

Final Thoughts and Video

First and foremost, make sure you take your time if you decide to build this (or any other) circuit for use with your system – working with electricity is hazardous (and if not for you, certainly for your hardware!) so be careful.  I’ve shorted my PC (yes, my entire system) no fewer than FOUR TIMES since I started messing around with DIY fan controllers, and unfortunately one of these shorts fried my prized Foxconn X58 motherboard.  Suffice to say, I have been more cautious since.

On the plus side, these fan controllers are a lot of fun and can be very useful if you regularly benchmark your system and require powerful cooling at the touch of a button (as I do).  Here’s a short video which shows the capabilities of the 556 circuit when paired with some seriously powerful 120mm fans…

Thanks

Primarily I’d like to thank I.M.O.G. for playing such an important role in my PWM fan projects (he organized the purchase and international shipping of the San Ace fans for me – top dude!) and for giving me the opportunity to write this article.  I’d also like to thank Brutal-Force for his videos and his thread which inspired me to make a PWM fan controller in the first instance, and resident electronics expert, bing, who freely shared his electronic expertise and offered valuable assistance throughout the learning process.

- Dave (LennyRhys)

Tags: , , , , ,

38 Comments:

David's Avatar
Nice writeup
bing's Avatar
Hey Dave, great article, nicely done and well consolidated too !

Love the intro, and those illustrations too, thanks.
DarkWarrior's Avatar
Nice , very good.
Jmtyra's Avatar
Awesome article, I may have to build one of those!
Thanks for writing this up.
LennyRhys's Avatar
Thanks guys - couldn't have done it without the oc forums community!
madhatter256's Avatar
Damn, those fans are loud!!
Jmtyra's Avatar
260 CFM fans? You betcha! And he only cranked them to 75%.
I.M.O.G.'s Avatar
Dave, really happy to see this article on the frontpage - great read, very clear, and a cool project spawned out of the forums. Getting the fans to you was no problem, and I'd be happy to do it again anytime! Thanks for putting this together!
Brutal-Force's Avatar
Awesome, thanks for putting this into words. Many people can benefit from this write up.
Seebs's Avatar
Hell yeah... Great write up. I'm sure there will be plenty more controllers built because of this; I, for one, am going to be putting my bread-boarded controller down on perf-board pretty soon. And once the first one is all done there will be a few more coming behind it.
MIAHALLEN's Avatar
Very cool write-up Dave
CompuTamer's Avatar
Nice write up! Glad to learn how to build these things.

Those fans are insane... i need a few to build a hovercraft with!
macklin01's Avatar
Nice work and write-up!

Brings back great memories of when men were men, and we had to make our own controllers or do the 5V/7V tricks. (Back before Zalman and everybody else flooded the market with pre-made controllers. )

Very nice design. Best -- Paul
LennyRhys's Avatar
I highly recommend getting one of these fans for kicks

Paul - thanks, and it's nice to see somebody else putting Dundee on the map!!
slavik's Avatar
Is it possible to replace the manual control with a thermistor and let the temperature control the fan speed? (with a rheostat as an adjustment). haven't been able to find such a circuit anywhere and commercial offerings are way too expensive.
macklin01's Avatar
I should think that would be possible.

Two configurations to think about:

(1) rheostat + thermistor in series: net resistance is additive

(2) rheostat + thermistor in parallel: net resistance is R1 * R2 / (R1 + R2)

Option (1) involves soldering your thermistor after or before P1.

Option (2) would be a matter of soldering the thermistor in parallel with potentiometer / rheostat R1.

There are pros and cons to both to think about. -- Paul
Brutal-Force's Avatar
It would be possible, but I think your dealing with two kinds of temperatures. One inside the case and the temperature of the CPU Cores. Since you could only go off of the core temperatures for your CPU, you would have to tap those temps from the Motherboard. In that case a lot of the newer motherboards use PWM to control their fan circuits, especially the higher end ones.

The problem (you will find out if you read my whole thread) is with the stepping of those PWM circuits. This is where this controller comes in. In all honesty, you really only need about 3 or 4 speeds for this fan. Low/Med/High would work in almost all cases, except that different fans at this speed exhibit noises that can only be eliminated if you turn them up or down ~50 RPMs. In essence your are tuning them. It would be too much work to try to tune a 3 speed controller.

I run my fan daily at about 900 RPMs. I turn it up to about 2000 while gaming and then I turn it to 6000 while benching. All of these are +/- 50-100 rpms. You just can't do that with switches. Well actually, you could... on a non PWM, but then you would deal with Undervolting which would also produce annoying noises.

I could have built a thermistor into this circuit, but PWM really was probably overkill for most computer users, and a thermistor controlled PWM would be definitely overkill. Essentially a thermistor is just a variable potentiomter, just like the 10 or 100k Poti used in this circuit. So one would just replace the Poti with the thermistor.... Problem solved. You just have to tune it/
bing's Avatar
Just came out of my mind on one simple thing, Lenny, how many fans maximum that controller capable of driving ? Ever tested 4 of that beasts altogether ?

This is interesting since as original circuit without the booster (inv sch buffer) couldn't drive even one as Brutal experience.
LennyRhys's Avatar
I'll get round to it soon bing. Problem with four fans is the enormous power draw of nearly 200 watts and 14-16 amps.

I think I'll buy a cheap PSU specifically for testing the fans - don't want to short my system again!!
bing's Avatar
Naah... not necessary, no need to buy another psu just to prove this, just any pwm fans like two that monsters plus your xigmatek and maybe intel fan from stock hs will be fine too.

But again, just take your time, no hurry, thanks in advance.
Omega Destroyer's Avatar
Thanks for the write up. Having a PWM signal generator that leaves the 12 volt line alone is exactly what I was looking for.

The only issue is that the parts you suggested come up with many hits in digikey and I'm not sure which to get.

Can anyone provide digikey part numbers for the components?

Also, since this fan controller is for a fan that will not be in my computer, I wanted to make it temperature regulated. As for setting a thermistor in series or parallel, does anyone have a circuit diagram for that? Which thermistor and potentiometer set would work for that?
inVain's Avatar
this is awesome...
I google search for "diy pwm fan controller", and I always got this thread on the 1st page
zerocoolzmax's Avatar
hi guys,

i just recently bought 6x Coolermaster xtraflo 120mm pwm fans for a 360 radiator (wanting to do a push pull setup)
my problem is i need to make a 4 pin pwm fan controller, do i need to use a 5v or 12v controller.
i have an existing Cooler Master Aerogate II Fan Controller is there a way to modify this to be compatiable with the 6 pwm fans .
i like this unit as it has the temps and rpm displayed.

if anyone could help this would be appreciated.

regards
zerocoolzmax
Seebs's Avatar
The controller itself works on 5V; the fans get 12V from the PSU and the PWM signal from the controller for speed regulation.


Unless you're relatively good with electronics and quite handy with a soldering iron; modding that controller to send PWM out will be kind of hard. You do have an option though... The fans you bought; though PWM, can still be connected/controlled by that Aerogate II. The controller has 4 channels rated for 18W each; the fans take a max of 8.4W so you could connect two fans per channel and control them via voltage adjustment like normal fans and not lose any functionality on the controller.
Mixzzz's Avatar
I'm just wondering how much W they can handle? Mostly I need to know single 555 timer output but it could nice if you could tell other two outputs.
Seebs's Avatar
One million Watts...

Now; for the serious answer.

The PWM controllers that this article refers to don't actually power the fans. The fans are powered straight from the PSU (12V) all the time and the controller simply sends ON/OFF signals to a circuit on the fan that switches power ON/OFF very fast (the standard is 25KHz, but some fans work on other frequencies).

So since the fans are not being powered from the controller; the answer to your question is that you can run whatever fans you want (no watts limitation); provided your PSU can power them.
MuHcOw's Avatar
Hi there,
Excellent write up! - I read a good portion of the original thread last night. Very informative.

But I still have a few questions - Yes I'm a noob
I know this is an old thread now, but I hope it's okay to revive it again.

Here goes...

1) IF I where to build my own PWM-controller and (don't know the correct word) power-module??? - Would "PWMing" a 3-pin fan wreck the "fan tach" signal from the third wire?

2) "Nidec" states that modulating the 12V main supply isn't a good thing to do.
But isn't that exactly what a PWM-fan does? chops up the 12V supply with it's OWN built-in circuitry (with help from an external PWN-controller) in order to control the speed??

The thing is that I have a bunch of 3-wire fans that I would like to run slower. I'm not interested in soldering a resister on one of the wires in order to reduce the speed. Well that would be the easy way to do it, but not a very efficient way.. I'm also worried about the tach-signal..

3) Would using the 556 Dual Timer boost the PWM-signal up to a level where it will damage the circuitry on my 4-wire fans if only ONE fan is connected to the controller?? (yes, I also have a bunch of 4-wire fans) - Nidec UltraFlo V12E12BS1B5-07 - Very nice (discontinued) fan, I think.

Well these are just some of my thought's - I'll spare you the rest, for now

Kind regards!
bing's Avatar
MuHcOw, to OcF !

Trying my best to answer your questions here.

Yes, PWM-ing 3 wires fan is really crude method to control the fan speed, this simply turning the whole fan power on and off at very high speed.

Since tach signal is also in pulses (common standard is 2 "pulses" per rotation), definitely this signal will be wrecked so badly that it is useless.

There is other alternative that use this method called pulse skipping, but still this is a really lame method, and also will create even annoying noise from the fan, cause its sort of stopping the pulsing momentarily, then there is a circuit will monitor the tach signal for certain period, and then continue the pulsing again. This process is repeated again and again that sometimes the fan will create a funny tone.

Simply put, forget about power pulsing PWM on 3 or 2 wires fan, its not worth the effort and troubles.

Yes, in principal they're "almost" the same, but again, as the olde says "the devil is in the detail" , as you see, on PWM 4 wires fan, the power is supplied "constantly" to the fan circuit, so the fan circuit is never turned off, also PWM fan circuit is much-much more complicated than ordinary 3 wires fan.

An example, here I made a tear-down of an industrial PWM fan, click -> Pictures of A Dead Delta Fan and It's Internal Parts, you can see it has complicated circuit with many more tons of components compared to common 3 wires fan.

Now, about the chopping, yes, its using the same principal, but ... it has a dedicated circuit to handle this situation ("smarter") in chopping the power "at the right & precise timing and moment" that this method will be effective. Again, remember, PWM fan has a dedicated circuit and this smart circuit is "constantly" powered on by a dedicated 12 volt line to do this work. 3 wires fan doesn't have this luxury, hence fan with PWM feature will be much more expensive than it's 3 wires brethren or exact same model.

Randomly chopping the power as in pulses to the fan stators definitely will wreck the fan rotation, torque power and reduce the fan efficiency. Combining these disadvantages, usually this method will create annoying weird noise since the pulsating pulse is not fired at the right precise timing and moment.

Made a short explanation here, read it carefully and also recommending to stare at the pic in that post while imagine the overall over process as I explained there, click -> HERE, trust me, speed it up in your brain, its dizzying. ... LOL ...

The only safest & better way to control the speed of 2 or 3 wires fan is by using voltage control (aka reducing voltage supplied to the fan), which is most commercial fan controllers do out there.

Also this old but proven method is the best in controlling and reducing the fan noise effectively.


Nope, don't worry, it doesn't work like that. Think of the booster like your PSU, even though it has beefy power, it will only supply the "needed" power which is your fan either single or more safely.

It is like computer with single or multiple hard-disks, you never heard of that a psu was toasting the hardisk if only one was used compared multiple harddisks, right ?


Hope this helps.
MuHcOw's Avatar
Thank you

It helps A LOT !!! Thank you very very much!

I was just worried that the "boosted" controller meant higher voltage in the PWM signal which could burn out the circuitry in the fan.
But now that I'm thinking about it... - Well.. I should have known . The PWM-wires to the fans aren't connected in series but parallel, if you know what I mean. Same voltage level but more amps, when needed..

Then again I may be wrong - Wouldn't be the first time, and probably not the last

Well, looks like "good" old voltage control for my 3-wire fans then.. Just have to make sure the controller (resistor) can handle the load.
Do you know if the lower voltage will have an effect on the tach-signal??

My only concern regarding the PWM controller is that "frequency-thing". But I think that could be fixed by using another capacitor or something like that, right?... I'll read the thread again - I know the answer is in there somewhere :-)

Again - Thank you very much!!

Kind regards
legolover16's Avatar
I made this circuit and connected it to the pwm pin on a 12v 1.6a delta fan and it didn't work

the fan was connected to 12v molex power and the circuit was connected to 5v molex power
kaizer0047's Avatar
hey men great work there.
im noob in this feild and im trying to do the pwm control setup using the 556.
but when i tried it im only getting to values in the PWM output.
first the potentiometer is at the lowest position, the fan is turing 1250 Rpm then when i turn the potentiometer just a little bit the fun runs to 3150 Rpm . and ive tried throttling the potentiometer to the max and tha fun is nut speeding up just upto 3150 Rpm. help me
LennyRhys's Avatar
Can you post a pic of the circuit? There could be a bad connection or an unwanted extra connection.

When I built my most recent controller, one of the channels was stuck at low duty cycle because two pins on one of the ICs were bridged unintentionally. Took me HOURS to find it, and I'm used to doing this sort of thing!
WhitehawkEQ's Avatar
You could do this
141381


Q1 can be any high power NPN transistor.
kaizer0047's Avatar
its okay now! i discovered that the Potentiometer is busted. so i just put a working one and its done. well thanks anyway and by the way love your work.
WhitehawkEQ's Avatar
I'm going to build a 25 of these, everything is SMT but for the connectors and potentiometer

141653

PM me if you want 1.
LennyRhys's Avatar
Depending on what application you plan for that controller, it'll probably need a fatter ground track. Looks nice though.
WhitehawkEQ's Avatar
I saw that and made the change.

edit: the board is about 58mm (2.3 in) x 31.5mm (1.24 in), and I re-posted a new pic in above post.
Leave a Comment