Turn-key PCB assembly services in prototype quantities or low-volume to mid-volume production runs

Control motor PWM schematic

In general there are two ways to control DC motor speed: by varying supply voltage and pulse width modulation (PWM). First control method is not convenient especially in digital systems. It requires analog circuitry and so on. Second motor speed control method is very convenient for digital systems, because all control is made using only digital signals.

As you already know PWM (Pulse Width Modulation) is all about switching speed and pulse width (duty cycle). Duty cycle is ratio of signal time ON/T. T is period of signal.


In above diagram you see two signals. First duty cycle is about t1/T=1/3 and another’s duty cycle would be about t2/T=2/3. And notice the period of signals are the same.

If we apply these signals to switching transistor we would get control over effective voltage across motor:


Where tON-signal on time over one period T.

In this way you can control motor speed using microcontrollers PWM output or if you need you may use simple control motor PWM schematic constructed using IC555 timer circuit:


Without going too deep in to 555 timer’s performance analysis I can mention that duty cycle can be changed using potentiometer RV1. The period of signal won’t change as over all resistance between Vcc and 555 pin 6 does not change.

For more information about IC555 and its applications refer to: https://www.uoguelph.ca/~antoon/gadgets/555/555.html


  1. Hi Scienceprog, hope you can reply to this question to my e-mail. I have seen the same concept of developing a PWM source with 555 timers. However all the ones I have seen involved using a 556 (555 dual timer). It eventually occured to me that only one 555 timer would be needed for simple motor control. Could you please explain why other schematics use the dual timer design?

  2. I guess that by using two 555 timers you have better control of generation of PMW, because one IC is dedicated to generated the frequency and another is to select duty cycle. The main feature of using two 555 timers is that you can have much wider range of frequencies while using one 555 timer gives you limited option to adjust frequency.

  3. Thanks sienceprog.

  4. what is the type of transistor?

  5. There is NPN transistor which depends on motor power. For instance you can use 2N3055.
    It is better to use n-channel MOSFET transistor for instance IRFD024 or IRFZ46N which is more effective than general purpose transistor.

  6. hello sir,
    I am a TY Btech Elex student. i need a C code for PWM control of DC motor controller using ATmega16 and IC L293D IC. Can u pls help me out?
    Awaiting your reply

  7. Why do we use a mosfet in this circuit

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.