Small DC Motor Pwm Speed Controller Using Arduino

Small DC Motor Pwm Speed Controller

The photo depicts a speed controller, wired on a breadboard which allows you to vary the resistance in the potentiometer in order to, in effect, control the speed of the small DC motor. The big picture problem is creating an efficient PWM motor controller that allows for an analog variance of voltage across the motor. Solving this partially or completely is important because the process allows for a range of analog voltage control to a DC motor. This tutorial shows you how to gather and construct the materials for a working, low voltage PWM speed controller and takes approximately 2 hours to complete.

Small DC Motor Pwm Speed Controller

Motivation and Audience

This tutorial’s motivation is to assist hobbyist and introductory micro-controller enthusiasts to establish a solid foundation in the workings of low voltage speed controllers. Readers of this tutorial assumes the reader has the following background and interests:

  • Know how to read fundamental circuit diagrams
  • Also know how to wire said diagram via breadboard or solder a perfboard
  • Troubleshoot circuit failure
  • Desire to understand how and why a PWM speed controller works
  • In addition, would like to have an analog response from the DC motor
  • Lastly, would like to have a common, open-source solution to a variety of controller needs

The rest of the tutorial is presented as follows:

Parts List and Sources

US-based vendors to obtain material to complete this tutorial include RadioShack.

To complete this tutorial, you’ll need the following items:


This section gives step-by-step instructions along with photos to construct a simple speed controller out of common electrical components and an inexpensive micro-controller. A schematic to construct the hardwired version of the pulse width modulated, low voltage, DC motor speed controller is shown here:Small DC Motor Pwm Speed Controller schematic


Read more: Small DC Motor Pwm Speed Controller

Leave a Comment

Your email address will not be published. Required fields are marked *