Introduction: Simplest High Frequency PWM With NE555

Picture of Simplest High Frequency PWM With NE555

In this instructable I will show you how I made a high frequency Pulse Width Modulator with the most famous integrated circuit the NE555.

This circuit is a good starting point in electronics for beginners because of the low amount of parts. It can be used to regulate computer fans, LEDs, motors and much more.

Step 1: Demonstration

In this video you can see the finished project.

Step 2: High Frequency Pulse Width Modulation

I did not make the video.

Well if you watched the video you should now know what a PWM is but why do we need a high frequency ?

The reason is that with low frequency pulses going to a motor, you can hear the coils switching on and off and that can be quite annoying. Imagine you set your fan to low speed in order for it to be quiet and the aerodynamic noise indeed will decrease but the noise from coils will increase making it loud again!

But if the pulses are high frequency the human ear will not hear them.

Step 3: Parts List

Picture of Parts List

For this instructable you will need:


male headers (or just solder some wires)

1x - NE555

1x - 8 pin socket (optional)

4x - any general purpose diode (I used 1N4148)

1x - any power NPN transistor (I used BD139)

1x - 470pF capacitor

1x - 1 kΩ resistor

1x - 4.7 kΩ resistor

1x - Potentiometer 5kΩ to 1MΩ (I used 50kΩ) linear

Step 4: Schematic and PCB

Picture of Schematic and PCB

A big advantage of this board design is that it can be plugged into the breadboard for testing.

This circuit can work on voltages from 4.5V to 16V. But if you used separate power supply for the chip and for the transistor it could be used for driving voltages higher than 16V.

The integrated circuit NE555 is wired in an astable mode(oscillator). The oscillation is determined by the size of capacitor(C1) and position of potentiometer(R3).

We have to use a transistor because the NE555 is not capable of supporting high currents to the load so the majority of current goes through transistor and not the IC. The PWM signal generated by IC switches the transistor on and off. In other words the PWM signal is amplified by the transistor.

The 1kΩ resistor(R1) limits the base emitter current, without it the path from pin 7 of the IC to transistor would act like short circuit to ground.

The 4.7kΩ resistor(R2) is a pull up resistor.

For the schematic and PCB I used a free program CadSoft Eagle which I would recommend to anyone making schematics or PCBs.

Step 5: Conclusion

Picture of Conclusion

This circuit is good for controlling speed of a motor but if you try to use this to dim LEDs it will work to some extent but you won't be able to fully dim the LED, although it's not that horrible, just try it yourself.

If you manage to build this project don't forget to post your results into the comments.


qahharp (author)2017-09-09

how much fan can be used with this tool?

Tanmay Deuskar (author)2017-04-20


I've made this circuit using a 100nF capacitor since I didn't have a 470pF one. The circuit works but, the motor continuously spins (even at the slowest position) and the difference in the speed of the motor at the fastest and slowest position(of the potentiometer) is very slight. Also my transistor (BC-547) gets extremely hot and at one point bursted and gave out a lot of smoke. Why would this be happening? I have wired it properly. Also, can you tell me how does the value of the capacitor affect the PWM.


BC-547(small signal transistor) can't handle the power that the motor draws, you should use BD139 or other similiar transistor in that package.
The 100nF capacitor will lower the frequency of the oscillation and you will no longer have high frequency PWM, it may also narrow the range of RPM.

raspypie (author)2017-01-26


Can you also give a detailed explanation of the circuitry? The pin 3 of 555 has been connected to the middle leg of a POT, thus making it an input pin. But pin 3 of 555 is actually an output pin. I also didn't get use of diodes in the above circuit. can you also elaborate on the use of 4.7K resistor in the above circuit?

raspypie (author)raspypie2017-01-27

Hey guys, can anyone reply to this question of mine?

doski90z made it! (author)2017-01-03

I made it using pcb mounted terminals and a mounted POT as well ;)

But my way of soldering the connection is very bad in my opinion! I would like you to tell me how do you map the components connections before soldering them so that they use smallest possible volume of PCB an be easy to replace a burnt part in the future! Of course without computer sofware. I am sure there are steps or basics to be followed when placing the components so that the are placed nicely and effectively for future modification or fixation!

Thank you my friend

DIY Circuits (author)doski90z2017-01-21

Well the technique I use is to:

Follow the schematic(if it is well drawn) and design the pcb so it resembles the schematic as much as possible. But just by doing this does not guarantee that the layout will be small so after I have a working but big layout I try to minimalize it. I used to do my prototypes without software but sometimes I forgot to draw a connection somewhere and find the mistake might take hours so now I use Eagle to draw the schematic and PCB because that way I have a certainty that I hadn't forgotten any connection.

And my rules for laying a proper layout are:

leave enough space

try to layout the parts and traces in the most logical/symmetrical way

keep the traces short and if you plan to etch your PCB then make them as fat as possible that way they won't get etched away etc.

downtownhippie (author)2016-12-13

I have a small LED desk lamp with external wall wart. I'd like to stick
this in the base and replace the on/off switch with a dimmer. Will
this go way down in duty cycle (10%...) Also the one thing I can't seem
to determine is what components change as load goes up - point me to a
webpage for the maths on these?

DaveAI (author)2016-07-15

Am I missing something? You list 4 diodes, but schematic only shows 3. It looks like maybe the missing one is used for polarity protection for the source power?

DIY Circuits (author)DaveAI2016-07-17

Yes you are right, now there are 4 diodes in the schematic

DaveAI (author)DIY Circuits2016-07-18

It was an easy build. Works great. Using an optical tach, it seems it didn't get to 100% of fan speed; but it is working perfectly in the range I need.

Thank you for the easy instructable!

RodrigoS94 (author)2016-07-12

if u use an 3 wire fan, u dont need to pwm on the "voltage", u can control in the "yellow" wire, its better and safe. ah, 20khz seens good for all coolers.

I have some minebea 140cfm coolers from servers, and they work great.

gm280 (author)2016-07-01

I like PWM circuits, but I always wonder at what frequency is actually the best for different applications. Using PWM to control a trolling motor is a great way to control the speeds. But how can you figure out the best frequency to use for such an application? There has to be some trade off. IDK!

nqtronix (author)gm2802016-07-01

Most motors do work best at around 1kHz. Unfortunatly this is within the audible range so there might be some noise emitted. Usually frequencys below a 100-500Hz will cause the motor to not run as smooth, so it's not possible to go below the human audible range. Instead motors are often driven at about 20kHz. While this elliminates the noise it has a lower efficiency as changing the magnetisation within the motor and the swithcing of the power transistors requires power. This power consumption is per cycle, so if change the frequency from 1kHz to 20kHz you'll loose about 20 times more energy for the switching itself. Together with the power consumed by the motor this might result in about 20-30% efficiency loss (highly dependend on which parts you acctually use).

BeachsideHank (author)2016-07-01

A nice, tight layout, well done!

About This Instructable




More by DIY Circuits:Modular UV LED Exposure UnitElectronic Decision Maker - 4046Electronic Dice With Slowdown - 555 & 4017
Add instructable to: