How to Generate PWM Using IC 555

The IC 555 is an extremely useful and versatile device which can be applied for configuring many useful circuits in the field of electronics. One very useful feature of this IC is its ability to generate PWM pulses which can be dimensioned or processed as per the needs of the application or the circuit.

What's PWM

PWM stands for pulse width modulation, the process involves the control of the width of the pulses that's generated from a particular source as per the circuit specs.

Basically PWM is used for dimensioning or trimming the output voltage or power of a particular load as per individual or application requirements.

It is a digital way of controlling power and is more effective than analogue or linear methods.
There are many examples which illustrates the effective use of PWM in controlling the given parameters.

It's used for controlling the speed of DC motors, in inverters for controlling the RMS of the output AC or for producing modified sine wave outputs.

It can be also seen in SMPS power supplies for controlling the output voltage to precise levels.
It's also applied in LED driver circuits for enabling LED dimming functioning.

It's extensively used in buck/boost topologies for deriving stepped down or stepped-up voltages without using bulky transformers.

So basically it may be used for tailoring an output parameter as per our own preferences.

With so many interesting application options, does it mean the method may be too complicated or expensive to configure??

The answer is definitely, no. In fact it can be very simply implemented using a single IC the LM555.

How to Use IC 555 for Generating PWM Outputs

Let's learn the following simple circuit configuration:

IC 555 Pinout

The diagram shows the IC 555 wired up in an easy monostable multivibrator mode. We know that in this mode the IC is able to generate a positive pulse at pin#3 in response to every single negative trigger at its pin#2.

The pulse at pin#3 sustains for some predetermined time period depending upon the values of Ra and C.We can also see the pin #2 and pin#5 assigned as clock and modulation inputs respectively.

The output is taken from the usual pin#3 of the chip.

In the above straightforward configuration the IC 555 is all set for generating the required PWM pulses, it just requires a square wave pulse or a clock input at its pin#2, which determines the output frequency, and a variable voltage input at pin#5 whose amplitude or the voltage level decides the pulse width dimensions at the output.

The pulses a pin#2 generates a correspondingly alternating triangle waves at pin#6/7 of the IC, whose width is determined by the RA and C timing components.

This triangle wave is compared with the instantaneous measure of voltage applied at pin#5 for dimensining the PWMs pulses at pin#3 output.

In simple words we just need to supply a train of pulses at pin #2 and a varying voltage at pin #5 for achieving the required PWM pulses at pin#3 of the IC.

The amplitude of the voltage at pin#5 will be directly responsible in making the output PWM pulses stronger or weaker, or simply thicker or thinner.

The modulation voltage can be a very low current signal, yet it would give the intended results.

For example suppose we apply a 50 Hz square wave at pin#2 and a constant 12V at pin#5, the result at the output will show PWMs with an RMS of 12V and frequency of 50Hz.

For reducing the RMS we just need to lower the voltage at pin#5. If we vary it the resultant will be a varying PWM with varying RMS values.

If this varying RMS is applied to a mosfet driver stage at the output, any load that is supported by the mosfet will also respond with correspondingly varying high and low results.

If a motor is connected to the mosfet, it will respond with  varying speeds, a lamp with varying light intensities while an inverter with modified sine wave equivalents.

The Output Waveform

The above discussion can be witnessed and verified from the given waveform illustration below:

The topmost waveform represents the modulation voltage at pin#5, the bulge in the waveform represents the rising voltage and vice versa.

The second waveform represents the uniform clock pulse applied at pin#2. It's just for enabling the IC to switch at a certain frequency, without which the IC wouldn't be able to work as a PWM generator device.

The third waveform depicts the actual PWM generation at pin#3, we can see that the width of the pulses is directly proportional to the top modulation signal.

The pulse widths corresponding to the "bulge" can be seen as much wider and closely spaced which proportionately becomes thinner and sparse with the fall in the modulation voltage level.

The above concept can be very easily and effectively applied in power control applications as discussed earlier in the above article.

How to Generate a Fixed 50% Duty Cycle from a IC 555 Circuit

The following figure shows a simple configuration which will provide you with a fixed 50% duty cycle PWMs across its pin#3. The idea was presented in one of the IC 555 datasheets, and this design looks very interesting and useful for applications which need a simple and quick 50% fixed duty cycle generator stage.

Need Help? Please send your queries through Comments for quick replies!


David Argent said…
Hi Swagatam,

This is a great post, with some inspiring information. I have a question if I may. I have a SMPS converting 230vAC down to 24vDC @ 40A. I need to control the output voltage from 0-24v. I'm looking into using PWM and so would the 555 be the right solution? i'm not an electrical engineer but I need to have a clue about whats possible before I try and commission the product.

Many thanks.

Swagatam said…
Hi David,

Yes it can be done. Pease reer to the following diagram. The upper section is what you need to make, ignore the lower IC/mosfet section its not required. Pin3 of IC2 555 will produce the required PWMs
The above output can be configured to a mosfet stage for controlling the load, the PWMs then may be adjusted by varying the 10k RMS pot or preset.
Swagatam said…
...sorry here's the link:
Charlie C said…
Hi Swagatam,
I was wondering if you could help me with my project. I need a pwm motor speed controller for my 12V, 3A motor and I want to run it 1 minute ON and ~5 minutes off to save battery power. I have a 4060 ic that can be used on the timer part but not sure if you can use it for PWM?? Thanks in advance.
Swagatam said…
Hi Charlie,

For PWM control you can try the last circuit shown in this article:

ignore the 4 diode bridge circuit, simply connect your motor across the positive and the mosfet drain.

The 10k preset can be used for controlling the motor speed.
Swagatam said…
correction: the above link is not the correct one, please refer to this link:
Ahmed Farrag said…
Hello Mr Swagatam,

Many thanks for your article which I came across because I am looking to construct a very basic VCO which has an analog input variable voltage that should be converted to an alternating sine wave corresponding to the input voltage.

I was thinking of using the 555 to generate a square wave corresponding to my varing voltage and convert it to a sine wave, what do you think?

Many thanks in advance.
Swagatam said…
Hello Ahmad,

Yes it's possible, first the varying may be applied at pin5 of the IC 555 (pin2 connected with a square wave source) for generating a correspondingly varying PWMs, and then these PWMs may be fed to another 555 IC integrator circuit for converting them into correspondingly varying sine pulses.....wider the PWMs higher the amplitude of the sinewaves and vice vera.
Ahmed Farrag said…
Hello Mr Swagatam,

Many thanks for your prompt reply.

I didn't quite understand what you meant by connecting pin-2 to a square wave source, is it the feedback connected back from pin-3 through a resistor? This is how I have designed my circuit:

Pins 2 and 6 are connected together and joining a capacitor to the ground, pin-2 is connected through a resistor to pin-3 to have the same charge and discharge path through same resistor and by this way I can obtain 50% duty cycle.

My input to pin-5 is actually an analog signal with a voltage range that I choose (between 2 --> 8 Volts), if I do understand correctly then the lower the control voltage on pin-5 the higher the output frequency and vice versa, true?

In addition, some experimental studies referred to the usage of electrolytic capacitors on pin-3 to generate an average sine wave, what do you think?
Swagatam said…
Hello Ahmed,

My idea is to convert the input varying signal into varying PWMs and then convert these PWMs into a proportionately varying sinewave

referring to the diagram as given below, see only the IC1/IC2 stages, ignore the BC547 section, here if a varying voltage (from 0 to supply level) is fed will generate a correspondingly varying PWM on pin3 of IC2:

Next these PWM can be fed to the base of the transistor T2 of an integrator as shown below, and the waveform can be analyzed across C8

Ahmed Farrag said…

Many thanks again.

Please do accept my apologies but electronics is not really my strength point and I struggle with some concepts.

I understood what you said with creating the PWM, however I don't see where can I input my own varying signal onto the IC-555? In addition, the second link gave me the page of a Tachometer, I didn't manage my way through to be honest :(
Swagatam said…
It's just an idea that I have suggested, I am myself not sure if the idea would work.

The input will need to be applied at pin5 of IC2 in the referred first diagram.

In the tachometer, see only upto the transistor base, ignore the left side ignition system.

The PWMs from the first diagram could be applied to the base of this transistor for getting an equivalent sine wave across C8
Suman said…
swagatam i need a help from u pls
i want pwm ciruit diagram with specificitions 0-24v dc using 555ic and mosfet output upto 30amps using controling preset r variable can u help me pleace
Swagatam said…
hello suman, you can try the following simple design:
Dear Swagatam Sir,
Is the circuit given alone capable of producing PWM signals?or should we take the output from pin 6(triangle wave) and compare it with the input signal using 741/311?
Swagatam said…
Dear Faris, Pin#2 needs to be fed with a square wave pulse and pin5 with some constant DC voltage, that's all....the resultant will be a dimensioned constant PWM equivalent in RMS value to the DC input at pin#5...the PWM will vary as the pin#5 DC is varied, if it's in the form of a sinewave then the PWM will follow this and produce a equivalently varying PWM train at pin#3
kumar said…
Hello sir,

I have a few queries could you please clarify that,

Is this possible to control the load of 24v using PWM if possible can you please send the circuit diagram.

my requirement is "on" and "off" the load depends on the time period like 2 minutes "on" and 1 minutes "off", and 3 minutes "on" and 1 minutes "off", the time duration for "on" and "off" is should variable.

Thanks in advance.
Swagatam said…
Hello kumar, the above explained concept cannot be used for your application....a programmable timer referred below will be much suitable instead:
bhavin patel said…
sir i need help in spwm technique for inverter using arduino
Swagatam said…
bhavin, you can refer to the following article
Swagatam said…
Hi Sherwin,

It is possible to adjust and vary the duty cycle of a 555 IC circuit from 1% to 99% by using diodes in conjunction with the pot of the circuit as shown below

fixed 50% is also possible, you can find a simple design updated just now by me in the above article

Swagatam said…
you have removed the comment, that's not must be patient getting the reply from me.
Dear Guru,
I have been through various circuits on the web regarding 50% duty cycle generator using IC555 timer where people have connected diodes in series with the timing components and proved to show that they are sucessful in doing so.

I have even searched the datasheet of the above timer regarding the duty cycle generation but in the features section it just says ADJUSTABLE DUTY CYCLE and it doesn't mention it like say 0-100% OR 50-100% or whatever.

Many other people have made the 555 oscillator and some say:
1. It is possible to trim down the duty cycle less than 50%.
2. It is not possible to bring the duty cycle less than 50%.
3. It is possible to generate 50% duty cycle.

All these people have shown diagrams and videos and proved the above.

There are questions from my side regarding the above:
A. Is it possible to generate a fixed 50% duty cycle at the output of 555 by connecting diodes?

B. Are we forcing a component to generate something more precise and accurate regarding to what it can in general output freely without stress.

The datasheet dosen't show any diodes connected in the 50% duty cycle schematic.

I need some clarification regarding this.
Swagatam said…
Hi Sherwin, It is good to see that you have reposted your comment, please refer to my reply as given in the above comment.

the 555 duty cycle and frequency together depend on its R/C component values, so while creating the 50% duty cycle we are basically adjusting the R/C components precisely to set the duty cycle
In the circuit diagram given by you, i see the 100K pot connected with the diodes.
Does this pot only change the duty cycle OR change both frequency and duty cycle?
Swagatam said…
Hi Sherwin, Only duty cycle is changed, not frequency.
Johan said…
Dear Sir

Possible to explain to me how to use the 555 as a speed controller in PWM, to control a 48v DC fan draw 350mA.

Thank You
Swag said…
Dear Johan, you can try the following simple design for implementing your application

make sure to step down the 48V to 12V for the IC section.
Ezekiel sanga said…
Hi Swagatam
My name is Ezekiel
I want you to show me a schematic diagram of a soft start AC motor pump using a monostable 555 timer to
have automatic control of start up AC motor pump
Swag said…
Thanks Ezekiel,

please send it to my email ID
homemadecircuits @

I'll check it out soon.
abubakar said…
hi good work sir
Yusuf abdulazeez said…
Hi engineer Swagatam, I have completed the circuit (3kva inverter using IC SG3525) It works. Thank you very much. Now, sir, I want AUTOMATIC battery charger/changeover circuit, overload cut off, Battery full cut off, Battery low cut off. When the light from grid comes it will automatically change to changing and vise vasal, to elongate the life span of the battery used. I will be looking forward to your prompt reply. Once again, I am very grateful.
Swag said…
Thanks Yusuf, I am glad you could complete it successfully, you can try the second concept from this article to convert your design into an UPS

 Follow on G+  Follow on Facebook   Follow on Tweeter  Follow on G+  Follow on G+