Controlling motors with transistors

We can control a motor by directly connecting it to the Arduino digital pin; however, any motor bigger than a coin would kill the digital pin and most probably burn Arduino. The solution is to use a simple amplification device, the transistor, to aid in controlling motors of any size.

Here, we will explore how to control larger motors using both NPN and PNP transistors.

Getting ready

To execute this recipe, you will require the following ingredients:

  • An Arduino board connected to a computer via USB
  • A DC motor
  • A resistor between 220 ohm and 10K ohm
  • A standard NPN transistor (BC547, 2N3904, N2222A, TIP120)
  • A standard diode (1N4148, 1N4001, 1N4007)

All these components can be found on websites such as Adafruit, Pololu, ...

Get Arduino Development Cookbook now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.