A potentiometer is a three terminal electrical and electronic component which has the ability to vary its resistance by means of rotation or sliding a constant. 

The potentiometer can be used in two configurations where it can either vary voltage or vary resistance. 

Your next project might require speed control of a motor.

So, can you use a potentiometer to control motor speed? Yes, you can use a potentiometer to control motor speed. When used to vary voltage, a potentiometer can be connected to a motor and vary the voltage (and therefore power) delivered to a motor which will control its speed. 

I shall discuss the above circuit setup and a couple of other configurations you can use to control the speed of the motor using a potentiometer. 

How a potentiometer can be used to control motor speed

Before we dive into the circuit configurations of controlling the speed of the motor, let’s take a closer look at the Potentiometer

If you already know a potentiometer inside out, you can skip this section. 

The potentiometer

Below is the schematic symbol and of a Potentiometer. 

It is a three terminal device with a schematic symbol similar to that of a resistor. This is because it essentially is a resistor which has the ability to vary its resistance. 

The resistance at the both ends of the potentiometer is fixed, while the resistance of the middle pin can be changed by either rotating a knob or sliding a contact depending on its construction. 

However, the potentiometer has the added benefit of being able to vary voltage as well.

Varying resistance

To use a potentiometer as a variable resistor, only two of its terminals are connected (Terminals 1 and 2), while the third terminal (Terminal 3) can be left floating. 

Varying voltage

To use the potentiometer to vary voltage, all three of its pins are connected. 

Pin 1 is connected to the supply voltage, pin 3 is grounded, and Pin 2 is the output voltage. 

Note, the potentiometer is a passive device, therefore it can be used in any direction. Therefore, either of the end pins (1 or 3) can be connected to the supply voltage. 

The input voltage is applied across the entirety of the potentiometer, and the output voltage at Pin 2 is the voltage drop between one of the fixed ends and the sliding contacts.

A potentiometer’s role in speed control of a motor

So, how does the ability of a potentiometer to vary its resistance, and voltage help with controlling the speed of a motor? 

A Motor is a device that rotates when a voltage and current is applied to it.

It converts electrical energy to mechanical energy.

Motors come in a variety of sizes which require different magnitudes of voltages to operate. A smaller motor will require less power to rotate at its maximum speed compared to a larger motor.

The amount of voltage and current that a motor requires is given by its Voltage and Current Ratings. 

These values indicate the nominal maximum voltages and currents required to run at maximum speed. 

But, if you supply a motor with voltages less than its rated values, it is going to run at speeds lower than its maximum speed.

Say you have a motor that is rated for 12V and 1A. 

If we reduce the voltage by 50% (6V), the motor is now effectively going to run at 50% of its top speed. 

Since the potentiometer has the ability to vary voltage, that is how it can be used to control the speed of a motor. 

Circuit configurations to control motor speed with a potentiometer

So, now we have established that a potentiometer can be used to control the speed of a motor, let’s take a look at some circuit configurations.

There are two typical ways to use a potentiometer to control speed; Using the potentiometer by itself, and Using the potentiometer with an Arduino.

How to control motor speed using a potentiometer: Without an Arduino

The first circuit setup is the simplest and only requires a few parts;

  • Motor
  • Potentiometer
  • Power Supply 

In this configuration, the potentiometer will have to be wired so that it can vary voltage (so all three pins will be used).

Below is the circuit schematic to control the speed of a motor using just a potentiometer.

The operation of this setup is simple; as you rotate (or the slide) the potentiometer, the voltage at its output pin (pin 2) which is connected to the motor, is going to vary between values from GND (0V) to the supply voltage (5V in this example).

This change in voltage is going to translate to different speeds of the motor. 

How to control motor speed using a potentiometer: With an Arduino

The second circuit setup will require an Arduino.

An Arduino is needed as it contains a microcontroller which has the capability to produce Pulse Width Modulation (PWM) at some of its designated pins.

Note, you are not restricted to using just an Arduino. As long as you have a microcontroller which can produce PWM you will be fine. 

What is PWM?

PWM is a technique used to vary the average power delivered to electrical and electronic devices. 

It is a digital waveform signal that varies between two values; High and Low.

The amount of time the pin of the Arduino is HIGH vs LOW is known as the Duty Cycle, which ultimately determines the average power.

Below are a couple of different PWM waveforms with different duty cycles. 

Each percentage value of duty cycle for each waveform determines how long the pin is on for, and is also how much percentage of the total power is delivered. 

So, if the duty cycle is 75% and the supply voltage is 5V, the total voltage at the output is now 3.75V (0.75 x 5).

This is great, as we can use PWM to control a motor speed. 

But, where does the potentiometer come in? 

The potentiometer is used to vary the duty cycle of the PWM via the Arduino’s Analog to Digital Converter (ADC) .

So, it directly controls the speed. 

Below is the circuit for using a potentiometer and arduino to control motor speed.

Why you would want to control motor speed using a potentiometer

There are a couple reasons for using a potentiometer to control the speed of a motor.

The main one being that it gives you a much more natural tactile feel when controlling the speed of the motor. 

Say you are building an electric scooter. Accelerating is much more natural by rotating the accelerator (via a potentiometer) than by just pushing buttons. 

How to choose the right potentiometer to control motor speed

As we saw earlier, motors have voltage and current ratings. 

These values determine the maximum voltage and currents they can operate under safely. Going over these values increases the chance of damaging the motor.

A potentiometer is no different. It too has maximum voltage and current rating values within which they operate efficiently. 

When using a potentiometer to control the speed of a motor, you will have to choose a potentiometer that matches the maximum ratings of the motor.

For example, if you have a motor that has ratings of 5V, and 1A, you will have to choose a potentiometer with ratings that are the same (5V, 1A) or higher.