Everything You Need To Know About Motor Drivers

Everything You Need To Know About Motor Drivers

Previously we learned how to control DC motors using arduino. We used a motor driver IC named L293D for the purpose. Although it does get the job done, it isn't the best way to do it. The IC can get hot rather quickly and there is no filtering of motor noise which could cause problems in RF communications and data transfer. 

To avoid these problems we can use a motor drive board/module. Motor drive boards have a driver IC as the heart with a heat sink and some other electronic components to reduce the motor noise. Let's see what a motor driver is, how it works and how to use it for our projects.

What is a Motor Driver Board?

A module with a motor driver IC which helps us control speed and direction of DC motors is called a motor driver board. There are a variety of motor driver boards in the market. Most popular being L298N and L293D based motor drivers. 

These boards are compatible with all arduino, esp and similar microcontrollers. In this article we will perticulerly look into 2 very popular motor drivers, The L298N Driver and L293D based motor controller shield.

So let's see these boards in more detail:

L298N Motor Driver:

This board is very popular in the makers community for its smaller size and power. The IC has a heat sink already which makes the board highly efficient. 


L298N motor driver board
L298N is dual H-bridge IC, which means we can control 2 motors uisng this IC.
Here is a list of specification of the driver:



  • Dual H-Bridge Drive Chip: L298N
  • Logical Voltage: 5V
  • Drive Voltage: 5V-35V
  • Logical Current: 0-36mA
  • Drive current: 2A (MAX single bridge)
  • Max Power: 25W
  • Dimensions: 43 x 43 x 26mm
  • Weight: 26g
Using this motor driver we can control 12v-30v motor with max current of 2A. Using driver is pretty similar to using bare IC. Check out this tutorial for more information about that.

L293D Motor Shield:

Shields are something you use with Arduino. These boards stack on top of arduino and we can use them with libraries. It reduces the mess created by wires and saves a lot of space.
Here we will see the popular Arduino Motor Shield V1. 

arduino motor shield motor driver
This motor shield has two L293D ICs which control two DC motors each, hence we can control four DC motors or two stepper motors using this shield. Along with that we can also control two servo motors with this shield.

  • Double H Bridge Drive Chip: L293D
  • Logical Voltage: 5V
  • Drive Voltage: 5V-36V
  • Logical Current: 0-36mA
  • Drive current: 1.2A (MAX single bridge)
  • Max Power: 25W
  • Dimensions: 69 x 53 x 14.3mm
This motor shield just stacks on top of arduino and using a library called AFMotor.h we can easily control motors and servos using it. 

How To Use Motor Shield?

Motor shield can be stacked upon our Arduino uno. Before coding, we need to install the library.
To install library first open the IDE and goto >> Tools >> Manage Libraries
In the search box type "Adafruit Motor Shield" and install the first library.


After the library is installed, goto >> Files >> Examples >> Adafruit Motor Shield Library >> Motor Test. 

Next connect the Arduino to PC and upload the code. Now connect a DC motor to the M4 terminal and see how the motor works. You will notice that the motor slowly spin in one direction gradually gaining speed and then it does same in other direction. 

That's all for this article, now you know how to control a motor using a motor shield. You can use this for testing different codes in the example and learn more. In future we will use this to create an arduino based robot. Till then keep experimenting.

If you like my tutorials and want to stay updated for more, make sure you follow my blog. If you have any questions, feel free to comment down bellow.