LED Dimmer and DC Motor Speed Controller Circuit Using PWM Technique

A tutorial on how to make a PWM (Pulse Width Modulated) controller circuit for controlling the speed of DC Motors and brightness of LED’s. This circuit uses 555 timer IC to generate continuous ON-OFF pulses which control the speed of DC motors or brightness of LED’s.

You can also use this circuit as an LED Dimmer for decorative lights like LED strips etc.

Components Required

  • 555 Timer IC
  • Resistors: 1K, 100R
  • 47K Potentiometer
  • 100n Capacitor
  • 10uF Capacitor (For smoothening power input)
  • PN Diodes * 2
  • N Channel Mosfet (I used IRFZ44N)
  • Breadboard
  • Few Breadboard Connectors
  • (5-12)V Power Supply

Note: Mosfet is required only if you are using this circuit to control speed of geared DC motors or for dimming brightness of LED Strips. It is not required for controlling single LED’s.

Circuit Diagram

Below is the circuit diagram of PWM controlled LED Dimmer circuit: basic-circuit.png

If you wish to control heavy loads like DC Motors or LED strips, you need to connect a mosfet to the output of 555 timer IC and connect motor / LED strip to the drain pin of mosfet. Below circuit showcases that arrangement: circuit.png

How This Circuit Works

[Please go through explanation provided in the video tutorial for better visual understanding]

This circuit controls the speed or brightness of an output by pulsing the output ON and OFF continuously. The speed of DC motor or brightness of LED can be controlled by by adjusting the duration of ON time with respect to the total time. In other words, if speed or brightness needs to be increased, we increase the width of ON pulse and vice verse. This process is known as pulse width modulation or PWM in short.

Each pulse is a combination of ON and OFF signal. The ratio of ON time with respect to total pulse time is called as duty cycle. So increasing the duty cycle will increase the speed of motor or brightness of LED, and vice versa.

Duty Cycle = (ON Time) / (ON + OFF Time)

Motor Speed = Duty Cycle * Maximum Motor Speed
LED Brightness = Duty Cycle * Maximum LED Brightness

How do we pulse the output ON and OFF and also control the duty cycle at the same time?

In order to toggle the output ON and OFF at regular intervals of time, we use 555 timer IC in astable mode. You can refer this tutorial: Adjustable Flashing/Blinking LED Circuit using 555 Timer IC to learn how 555 timer IC can be used to produce continuous clock pulses and how the values of resistor and capacitor influence the ON OFF times.

We will start with a similar circuit and separate the charging and discharging paths of the capacitor using 2 diodes and a potentiometer. Now the ON time depends on the speed at which 100nF capacitor charges, which in turn depends on how big the left portion of potentiometer’s resistance is.

Similarly, the OFF time depends on the speed at which the capacitor discharges, which in turn depends on how big the right portion of potentiometer’s resistance is.

And because the total resistance of the potentiometer is constant, increasing one portion of resistance automatically reduces the other portion and vice versa!.

So increasing left portion of resistance means that we are increasing the resistance through which the capacitor charges and so it takes more time for the capacitor to charge and so it increases the ON time. At the same time, the resistance through which the capacitor discharges reduces and so the capacitor will be able to discharge quickly and so it reduces the OFF time.

In short, because of the potentiometer and diode arrangement, if ON time increases, the OFF time automatically reduces and vice versa. As a result, we are able to keep the sum of ON and OFF times constant while being able to change the ON time and therefore duty cycle. This is what PWM (Pulse Width Modulation) is.

Further Improvements

If granular control of duty cycle of the PWM output is not required, the potentiometer can be replaced with a combination of multiple switches. So user will be able to select a fixed duty cycle from the available options (eg: 0% 25% 50% 75% 100%).


  • For Controlling speed of DC Motors or Brightness of LED Strips like we did in the video
  • For precise control of servo motors
  • Used in inverter circuits for generating pulses that drive step up transformer

If you have any queries/suggestions, feel free to post them in the comments section of this video: LED Dimmer and DC Motor Speed Controller Circuit Using PWM Technique