How to Make an Universal DC Motor Speed Controller




About: So basically i am a crazy person, who loves to think the most odd way ever possible,who makes what he thinks and also let other also make those . Check out my crazy projects if you like do follow me :D

Motors are everywhere where and we see them in every application.From Drills to Locomotives , from RC car to lathe machine everywhere there are uses of motors.

But the most important characteristic of the motor is ,the need to be controlled for a specific work is the speed of the motor .
Typically gears can be used to change speed , but sometimes it is not the solution . That time we need Electronic Control to control the speed of the motor.

If you like the video subscribe to my channel for more projects

Step 1: Components

Step 2: Theory

The speed is related by the following equation

N = V - Ia Ra / kØ

So speed can be varied by changing

  • Terminal voltage of the armature V.
  • External resistance in armature circuit Ra.
  • Flux per pole φ.

Armature resistance control method: This is the most common method employed. Here the controlling resistance is connected directly in series with the supply of the motor .

The disadvantage if the method is the power is wasted across the resistance. so it is a big no.

The second option is the terminal voltage variation.
we apply this here to control the speed. Variation is obtained by using a PWM signal

What is PWM ?

Pulse-width modulation (PWM),is a technique for getting analog results with digital means. Digital control is used to create a square wave, a signal switched between on and off. This on-off pattern can simulate voltages in between full on (5 Volts) and off (0 Volts) by changing the portion of the time the signal spends on versus the time that the signal spends off. The duration of "on time" is called the pulse width. To get varying analog values, you change, or modulate, that pulse width. If you repeat this on-off pattern fast enough with an LED for example, the result is as if the signal is a steady voltage between 0 and 5v controlling the brightness of the LED.

Step 3: Circuit

  • Start by soldering two diodes in opposite phase with the pots two end terminal with aY shape structure given in the pictures
  • Solder the NE555 on the board
  • Solder the two screw terminal at two ends
  • Connect and Solder pin 4 and pin 8
  • Connect and solder pin 8 to VCC terminal
  • Solder the middle of the pot to pin 3
  • Solder the diodes to pin 6
  • Solder A 0.1 uF Cap to the pin 6 with GND
  • Connect pin 2 to pin 6 and solder
  • Solder a 100 uF electrolytic capacitor with VCC and GND
  • Solder pin 1 to Gnd
  • Connect a 10k resistance between VCC and pin 7
  • Connect the one end of the terminal to VCC and the other to MOS Drain
  • Connect a diode in reverse biased condition to the other terminal
  • Connect the gate to the pin 7
  • Connect the Source to GND
  • Connect pin5 and GND with a 0.1 uF Ceramic cap

Step 4: Sticking the POT to the Board

The next task is to stick the pot to the board .
This is done by simply using a double sided tape.
Then I cut the tape to shape it with the potentiometer's back.
Now the work is to peel the tape's other side layer and attach it to the board.

My pot was a bit small compared to the knob.

SO here is a TIP for it.
Use a glue stick and fill the knob will glue first and then attach the knob.
This work Great.

Step 5: Applying to Different Object

This has been tested on all sorts of motor and it works pretty well ,
There are lots of projects that can be built with this like

  • Solder Fume extractor
  • Table top fan
  • POV Project

What will you do with it ?

if you like this Instructables
follow us on Facebook

And Subscribe us on YouTube

Maker Olympics Contest 2016

Participated in the
Maker Olympics Contest 2016



  • Stone Concrete and Cement Contest

    Stone Concrete and Cement Contest
  • Backyard Contest

    Backyard Contest
  • DIY Summer Camp Contest

    DIY Summer Camp Contest

45 Discussions


5 months ago

I made a perfboard layout for this project, it might be useful for someone

555 dc motor controller.png

6 months ago

Hi geekrex,
Nice tutorial. I have too a motor driver (MD10-POT) is able to control the speed and direction of your DC motor without using a microcontroller or writing a single line of programming code. Very easy installation. No need wiring so much. Operating voltage from 7V to 30V.Motor driver rated current is 10A. Maybe u can try. The product link below :

soBIJaFB-dI0wHRounH0C-Q.pngMD10-POT potentiometer switch control motor driver-800x800.jpg

6 months ago

how about a srduino board


Question 6 months ago

how can i us two slider pots to control two model ship motors separately in the boat. with the sliders in the RC transmitter


1 year ago

I am using my powerbank 5V 1A/2A will it work??


1 year ago

Can i use this for an washing machine motor too? They use aa power as far as i know ....


2 years ago

If I want to control a 20VDC motor without overvoltage on the 555, can I use a 7812 on the VCC input?


2 years ago

this is the thing I have been looking for. Just one minor adjustment needed. I have a 2 hp 130 dcv motor I need a controller for. I have asked every where I can and no one has been able to tell me how. Please tell me this can be done.

3 replies

Reply 2 years ago

It can be done you will have to add a SCR as a switch between the 130VDC and the motor it would be connected to the m- pin


Reply 2 years ago

I will look into that. any suggestions where I may find it. I'm sure I will get tons of junk if I just google it.

irn man

2 years ago



2 years ago

My grand daughter has an electric car.............but it has no speed control.......which is a bit scary. I'm not sure how much current the motor draws. Could this unit of yours provide safe speed control?



6 replies

Reply 2 years ago

It will need to be modded a bit , ne555 needs 12V and car motor may exceed that some small changes and it will work as great


Reply 2 years ago

If you use a MUCH bigger MOSFET, this could work. The NE555 is rated to 15V, so battery voltage shouldn't be a problem (A resistor/zener diode combo can be used on the input to bring it down to 12V if you're concerned about that.) You could use an LM7812 to regulate the voltage as well, but it will need another heat sink.


Reply 2 years ago

a ¼HP 12V motor will draw a lot of current. And even more when starting.

Use a very high Id device with a very low Rds on.

The example I gave above irlu8726 might do the job, or irfb3607 80A, 0.009ohms

At 3 times the running current you will need a rating of >50A mosFET.

1HP=746W, ¼HP=186.5W

running current is ~186.5W/12V = 15.5A

3times that is ~47A rating

The 555 timer will need a driver to charge up the gate capacitance. This becomes a much more onerous design.