Lab 6A: Motor Control


For this lab, I learned how to use a transistor to control high current loads with an Arduino. Specifically, I used a TIP120 transistor to control a motor with an Arduino.


For this lab, I connected a potentiometer, a transistor, a motor, an LED, and an external power supply all to a circuit. The potentiometer was used to change the speed of the motor. The transistor was used to switch from the the high current load of the motor to the Arduino.

The transistor has three connections, the base, the collector, and the emitter. The base is connected to the microcontroller’s output. The high-current load (the motor) is attached to its power source, and then to the collector. The emitter of the transistor is connected to ground.

The schematic for this circuit:

I added an LED in parallel with the collector and emitter of the transistor to protect the transistor from back voltage generated when the motor shuts off or if the motor is turned in the reverse direction.

I then programmed the microcontroller using the code given on our lab assignment here.

Here is the circuit at work:

You must listen very closely to hear the change in motor speed as the potentiometer is turned. Notice the green LED fading in and out as the potentiometer is turned.


Overall, this lab was a great way for me to learn how to use a transistor to control a motor with an Arduino. I completed a lab very similar to his previously, controlling the speed of a motor using a potentiometer. The addition of the control of the transistor made this lab interesting.

Leave a Reply

Your email address will not be published.