Summary
Are you curious about how motors are controlled in devices like robots, drones, and CNC machines? If the answer is yes! then check out this blog post which gives you an overview of motor drivers, including the different types available and how they work. You will also learn about the H-bridge circuit, how to build a motor driver circuit and the direction-controlling circuit of a DC motor using transistors. If you're interested in learning more about motor control, then this blog post is a must-read!
Introduction
Motor drivers are a vital part of any robotics or automation project. They provide the power needed to control motors and other components within an application. The motor driver is essentially responsible for providing the voltage, current, directionality and protection necessary to efficiently operate your robotic parts or devices. By connecting directly with a microcontroller board, easy interfacing can be established, making it ideal as a motor driver for Arduino and similar platforms. This allows you to customize settings such as acceleration/deceleration rates, encoder measurements, and PID tuning parameters for improved system performance.
Motor Drivers play an essential role throughout industrial production where precision accuracy in motion systems must remain a top priority, alongside data collection capabilities for continuous monitoring.
The most commonly used actuator in any electronic device/machine will be motors next to solenoids, pneumatics, and hydraulics. These DC machines can be found everywhere, from a simple vibration motor inside a phone to complex stepper motors in CNC machines. A Motor Driver or Motor Controller is required to control a motor using a microcontroller or processor.
Motor Drivers come in a variety of shapes and sizes, depending on the type of motor and control required. In this article, we will focus only on DC motors and explore DC motor driver working using the most popular H bridge motor driver topology. This technique helps drive small or large DC motors and also control their direction efficiently.
Components and Supplies
What is a motor driver?
A motor driver IC is an integrated circuit chip that controls motors in autonomous robots and embedded circuits. L293D and ULN2003 are the most commonly used motor driver ICs in simple robots and RC cars. A motor driver is responsible for making the motor move according to given instructions or inputs (HIGH/LOW signals).
It receives low-voltage signals from the controller and converts them into high-power signals required to drive the motor. In simple terms, a motor driver IC controls the direction and motion of the motor based on commands received from the controller.

Many motor drivers follow different topologies. In this article, we focus on the widely used H bridge motor driver, which is commonly implemented in ICs like L293D.
A motor is an electronic device that converts electrical energy into mechanical energy. A motor driver enables automation by controlling this conversion efficiently. We have several types of motors, including DC motors, stepper motors, and servo motors, each requiring suitable driver configurations.
Motor Driver Types and Applications
Understanding motor driver types and applications is crucial when selecting the right component for your project.
Common Motor Driver Types:
- DC motor drivers (L293D, L298)
- Stepper motor drivers (A4988, TB6600)
- Servo motor drivers (PCA9685)
- High-power motor drivers (BTS7960)
Applications:
- Robotics and automation systems
- CNC machines and 3D printers
- Industrial motor control
- Smart IoT devices
- Automotive systems
Choosing the correct motor driver ensures efficient performance, better control, and longer system life.
Different Types of Motor drivers
| Motor driver | Description | Image |
| 1. L293D IC |
|
![]() |
| 2. BTS7960B motor driver board |
|
![]() |
| 3. TB6612FNG motor driver board |
|
![]() |
| 4. TB6560 motor driver board |
|
![]() |
| 5. PCA9685 16 channel Servo motor driver board |
|
![]() |
| 6. MACH3 Interface Board CNC 5 Axis |
|
![]() |
| 7. TB6600 Stepper motor driver |
|
![]() |
| 8.PWM DC motor speed controller |
|
![]() |
| 9. 2000W 220V AC motor speed control board |
|
![]() |
| 10. L298 Motor driver board |
|
![]() |
| 11. A4988 Stepper motor driver |
|
![]() |
How does a motor driver work?

First, the microcontroller sends signals to the motor driver. Then, the signals received by the driver are interpreted and amplified using a reference voltage to drive the motor.
This explains the basic DC motor driver working principle:
- HIGH signal → motor rotates in one direction
- LOW signal → motor rotates in the opposite direction
Motor drivers enable high-power motor control using low-power signals from microcontrollers. They also incorporate protection features and efficient switching mechanisms using transistors.
If the microprocessor transmits a HIGH input to the motor driver, The driver will rotate the motor in one direction keeping the one pin as HIGH and one pin as LOW. And when the microcontroller transmits a LOW input to the motor driver, the motor driver makes the motor to rotate in other direction by making 2 motor pins as LOW and HIGH alternatively.
Motor drivers are important components in machines and robotic systems. They enable the operation of motors from a higher level signal, such as pulse-width modulation (PWM) or analog signals like those used with servos. Motor driver circuitry typically includes an integrated circuit that can supply enough current to drive the motor, while also providing shaft control for precise speed adjustment through power transistors connected in parallel with each other.
By configuring these transistors correctly, voltage spikes resulting from rapid switching of motor coils on tight turns can be controlled effectively without compromising efficiency during normal operations. Furthermore, many modern designs offer features such as built-in sensors which detect stall conditions as well as over/undervoltage protection and active braking capability making them ideal solutions for many applications ranging from light automation to complex robotics projects alike.
Also, read our blog on the Working Principle of AC Motor explaining how AC motor works with diagram and different types of AC motors and how they work.
L293D vs L298N vs TB6612FNG vs DRV8833
The four drivers differ substantially in current handling, voltage range, switching technology, and power loss.
| Feature | L293D | L298N | TB6612FNG | DRV8833 |
|---|---|---|---|---|
| Driver technology | Bipolar | Bipolar | MOSFET | MOSFET |
| Motor channels | 2 | 2 | 2 | 2 |
| Typical continuous current/channel | 0.6 A | Up to 2 A* | 1.2 A | 1.5 A** |
| Peak current/channel | 1.2 A | Up to 3 A*** | 3.2 A | 2 A |
| Motor supply | Up to 36 V | Up to 46 V | Up to 15 V | 2.7–10.8 V |
| Voltage loss / efficiency | High loss | High loss | Low loss | Low loss |
| Typical efficiency | Lower | Lower | Higher | Higher |
| Best suited to | Small DC motors | Higher-voltage DC motors | Efficient small/medium robots | Low-voltage battery robots |
* Actual usable current depends on module, thermal conditions, supply voltage, and package.
** TI specifies 1.5 A RMS per H-bridge for applicable DRV8833 packages.
*** Peak/current limits depend on the specific device and operating conditions.
The L293D is specified for 600 mA output current per channel and 1.2 A non-repetitive peak current by STMicroelectronics.
The L298 has a higher current rating but significant voltage drop across its bipolar output stage. ST's datasheet specifies a typical total saturation drop of about 1.8 V at 1 A, increasing at higher current.
The TB6612FNG uses MOSFET outputs and is rated at 1.2 A average and 3.2 A peak, with a typical combined output ON resistance of 0.5 Ω at the specified conditions.
The DRV8833 supports 2.7–10.8 V motor supply, 1.5 A RMS and 2 A peak per H-bridge for its higher-current package options, with 360 mΩ combined high-side/low-side ON resistance.
What is a H-Bridge circuit?
An H bridge motor driver is a simple yet powerful circuit that allows control over the direction of a DC motor. It is widely used with microcontrollers like Arduino.
An H-bridge consists of four switches (or transistors) arranged in an H-like configuration. By activating different pairs of switches:
- Motor rotates forward
- Motor rotates backward
This makes it ideal for robotics applications where directional control is required.


If you instead close switches 2 and 3, you will have plus connected to the right and minus connected to the left, and the motor spins in the opposite direction.
How to build a motor driver circuit?
Motor driver circuits can be built using dedicated ICs or discrete components like transistors. When building a motor driver for Arduino, PWM signals are commonly used to control motor speed.
The transistor-based circuit shown above demonstrates how speed and direction can be controlled. PWM signals from Arduino, Raspberry Pi, or ESP32 act as the base input for transistors.
Proper protection components like diodes are necessary to prevent voltage spikes and ensure safe operation.
Direction controlling circuit of a DC motor using Transistors

The resistors going into each base is there to reduce the current to each transistor. Not sure how to calculate it? If you’re using a microcontroller to control them, start with 1k and adjust if that doesn’t work.
This entire circuit requires a voltage source and PWM signal for each transistors to control the motor in terms of speed and direction. Always 2 transistor in opposite direction will be fed with a PWM signal to control the speed and direction of the DC motor.
Major components in motor drivers

1. Controller
The controller can be a microprocessor or a microcontroller.
2. Motor Driver IC or Motor Driver Circuits
They are current amplifiers that accept a low current signal from the controller and convert it into a high current signal that is used to drive the motor.
3. Motor
Motor is defined as an electric or mechanical device that can create a motion. While interfacing with the controller; some of the motors like DC motor, stepper motor, and brushless dc motor may require a driver IC or driver circuit. DC motor is a type of motor that can convert DC into a mechanical power. In a brushless DC motor, it consists of a DC power source, and an inverter producing an AC signal to drive the motor. While stepper motor is a brushless DC electric motor that converts electrical pulses into discrete mechanical motions.
4. Power Supply Unit
Provides the required power to the motor drive.
Which Driver Should You Use for Which Motor?
The most important rule is:
Choose a motor driver based on the motor's voltage and current requirements, especially its expected load and startup/stall current—not just its normal no-load current.
Here are practical examples using motors sold by Robocraze.
Example 1: 150 RPM BO Motor
The Robocraze 150 RPM BO motor operates from 3–12 V, has a rated torque of 0.35 kg-cm, and is specified with a no-load current range of 40–180 mA.
For a lightweight robot using one or two of these motors, an L293D, TB6612FNG, or DRV8833 can be appropriate depending on the actual motor load and supply voltage.
For example, if two motors each draw 180 mA under the operating condition being considered:
Total motor current = 180 mA × 2 = 360 mA
That is within the L293D's 600 mA-per-channel rating, assuming the actual loaded current remains within the driver's limits.
For a battery-powered robot, a MOSFET driver such as the TB6612FNG can reduce driver losses compared with the L293D.
Example 2: 200 RPM BO Motor
Robocraze's 200 RPM single-shaft BO motor operates from 3–12 V, has a 200 RPM rated speed, 0.55 kg-cm output torque, and a listed no-load current of 40–180 mA.
Suppose a two-wheel robot uses two motors and each draws 150 mA under a particular running condition:
Total running current = 150 mA × 2 = 300 mA
A small dual H-bridge can handle this operating current. However, the driver should still be selected with sufficient margin for acceleration and higher mechanical loads.
For a lightweight battery robot, a TB6612FNG or DRV8833 is a practical choice when their voltage/current limits match the motor and battery.
Example 3: 12V Johnson 500 RPM Geared Motor
The Robocraze Johnson 500 RPM 12V geared motor has a nominal voltage of 12 V, operates from 6–18 V, and lists 300 mA no-load current and 900 mA maximum load current.
If one motor reaches 900 mA under the specified maximum-load condition, a driver rated for only 600 mA per channel, such as the L293D, would not provide adequate current capacity.
A TB6612FNG is rated at 1.2 A average per channel, so its current rating is closer to this motor's listed maximum load current.
However, because the motor is a 12 V motor, you must also check the driver's motor-supply rating. The TB6612FNG's supply rating extends to 15 V, so 12 V is within its specified range.
Example 4: High-Torque Johnson Motor
Some Johnson geared motors sold by Robocraze have substantially higher current requirements.
For example, the Grade A 12V 30 RPM Johnson motor is listed with a no-load current of 800 mA and a maximum load current of 7.5 A.
This is a completely different driver requirement from a small BO motor.
A TB6612FNG, with its 1.2 A average output rating, would not be appropriate for a motor that can require several amps under heavy load.
This illustrates an important motor-driver selection rule:
A motor's no-load current does not tell you whether a driver is adequate for the motor under load.
For high-current Johnson motors, use a motor driver specifically rated for the motor's expected operating and stall/load current, with appropriate thermal and current margin.
🚀 Ready to Build Your Next Project?
Now that you know which motor driver fits your project, get your components faster! Download the Robocraze App for a seamless shopping experience, exclusive app-only discounts, and real-time order tracking.
🤖 Download for Android 🍏 Download for iOSConclusion
In this blog, we explored the fundamentals of motor drivers, including motor driver ICs, DC motor driver working, and the importance of the H bridge motor driver in practical applications. We also covered different motor driver types and applications to help you choose the right solution for your project.
If you appreciate our work don't forget to share this post and leave your opinion in the comment box.
Please do check out other blog posts about Popular electronics
Make sure you check out our wide range of products and collections (we offer some exciting deals!)
Excerpt
Frequently Asked Questions
1. What does a motor driver do?
A motor is an electronic device that assists in the conversion of electrical energy to mechanical energy. As a result, a motor driver enables you to perform automatic tasks using electrical power.
2. Is motor driver necessary?
So, in general, any motor requires a driver circuit because its voltage/current requirements differ from the device that's trying to control it.
3. What is a motor driver unit?
Motor Driver circuits are current amplifiers. They act as a bridge between the controller and the motor in a motor drive. Motor drivers are made up of discrete components that are integrated inside an integrated circuit (IC).
4. What is the difference between motor driver and motor controller?
The main difference between a motor controller and a motor driver is that the controller is responsible for controlling the speed, torque, the direction of the motor whereas a motor driver is responsible for providing enough electrical power to the motor as required.
5. What is a motor driver and why do we need one?
A motor driver is an electronic circuit that controls a motor's speed and direction by taking commands from a microcontroller. It amplifies the control signals, allowing the motor to operate at higher power levels. Motor drivers are crucial for robotics and automation, enabling precise control and efficient energy usage.
6. How does a motor driver work to control speed and direction of a motor?
A motor driver uses pulse-width modulation (PWM) to regulate the voltage supplied to the motor, effectively controlling its speed. To change direction, it switches the polarity of the voltage. This combination allows for smooth acceleration, deceleration, and directional changes in various motors.
7. What is the difference between a motor driver and a motor controller?
A motor driver is a hardware component that provides power to the motor while interpreting control signals. In contrast, a motor controller is often a software-based system or device that generates those control signals. Essentially, the motor driver executes the commands given by the motor controller.
8. What types of motors can be controlled by a motor driver (DC, stepper, servo)?
Motor drivers can control various types of motors, including DC motors, stepper motors, and servo motors. Each type requires specific driver configurations to accommodate their unique operating characteristics, making them versatile in robotics and automation applications.
9. What is an H-Bridge and how is it used in motor drivers?
An H-Bridge is a circuit configuration that allows a motor to be driven in both directions by controlling the polarity of the voltage supplied to it. Used in motor drivers, H-Bridges enable simple control of motor rotation and are essential for applications requiring bidirectional movement.
10. How do you choose the right motor driver IC for your project?
To select the right motor driver IC, consider factors like voltage and current ratings, compatibility with your motors, and the required features (like PWM control). Assess your project's specific needs, including motor type and performance requirements, to make an informed choice.
11. Can a microcontroller directly drive a motor without a driver?
A microcontroller can technically drive a small motor directly, but this approach is not recommended. It may damage the microcontroller due to high current or voltage requirements. Using a motor driver ensures safe operation and better control over speed and direction.
12. What are common motor driver ICs for hobby electronics (e.g., for Arduino)?
Common motor driver ICs for hobby electronics include the L298N and L293D for DC and stepper motors. For Arduino projects, the A4988 and DRV8825 are popular choices for stepper motors due to their ease of use and integrated features. These ICs facilitate seamless motor control.
13. What protection features should you look for in motor drivers (over-current, thermal)?
Look for protection features such as over-current protection, thermal shutdown, and under-voltage lockout in motor drivers. These features safeguard both the driver and the motor from damage, enhancing reliability and longevity in various applications.
14. What are the limitations of using motor drivers in robotics or automation?
Motor drivers can have limitations like heat dissipation issues, maximum voltage, and current ratings. They may also lack advanced features like feedback control, which can limit precision. Understanding these constraints helps in selecting the appropriate drivers for specific robotics or automation tasks.
1. What does a motor driver do?
A motor is an electronic device that assists in the conversion of electrical energy to mechanical energy. As a result, a motor driver enables you to perform automatic tasks using electrical power.
2. Is motor driver necessary?
So, in general, any motor requires a driver circuit because its voltage/current requirements differ from the device that's trying to control it.
3. What is a motor driver unit?
Motor Driver circuits are current amplifiers. They act as a bridge between the controller and the motor in a motor drive. Motor drivers are made up of discrete components that are integrated inside an integrated circuit (IC).
4. What is the difference between motor driver and motor controller?
The main difference between a motor controller and a motor driver is that the controller is responsible for controlling the speed, torque, the direction of the motor whereas a motor driver is responsible for providing enough electrical power to the motor as required.
5. What is a motor driver and why do we need one?
A motor driver is an electronic circuit that controls a motor's speed and direction by taking commands from a microcontroller. It amplifies the control signals, allowing the motor to operate at higher power levels. Motor drivers are crucial for robotics and automation, enabling precise control and efficient energy usage.
6. How does a motor driver work to control speed and direction of a motor?
A motor driver uses pulse-width modulation (PWM) to regulate the voltage supplied to the motor, effectively controlling its speed. To change direction, it switches the polarity of the voltage. This combination allows for smooth acceleration, deceleration, and directional changes in various motors.
7. What is the difference between a motor driver and a motor controller?
A motor driver is a hardware component that provides power to the motor while interpreting control signals. In contrast, a motor controller is often a software-based system or device that generates those control signals. Essentially, the motor driver executes the commands given by the motor controller.
8. What types of motors can be controlled by a motor driver (DC, stepper, servo)?
Motor drivers can control various types of motors, including DC motors, stepper motors, and servo motors. Each type requires specific driver configurations to accommodate their unique operating characteristics, making them versatile in robotics and automation applications.
9. What is an H-Bridge and how is it used in motor drivers?
An H-Bridge is a circuit configuration that allows a motor to be driven in both directions by controlling the polarity of the voltage supplied to it. Used in motor drivers, H-Bridges enable simple control of motor rotation and are essential for applications requiring bidirectional movement.
10. How do you choose the right motor driver IC for your project?
To select the right motor driver IC, consider factors like voltage and current ratings, compatibility with your motors, and the required features (like PWM control). Assess your project's specific needs, including motor type and performance requirements, to make an informed choice.
11. Can a microcontroller directly drive a motor without a driver?
A microcontroller can technically drive a small motor directly, but this approach is not recommended. It may damage the microcontroller due to high current or voltage requirements. Using a motor driver ensures safe operation and better control over speed and direction.
12. What are common motor driver ICs for hobby electronics (e.g., for Arduino)?
Common motor driver ICs for hobby electronics include the L298N and L293D for DC and stepper motors. For Arduino projects, the A4988 and DRV8825 are popular choices for stepper motors due to their ease of use and integrated features. These ICs facilitate seamless motor control.
13. What protection features should you look for in motor drivers (over-current, thermal)?
Look for protection features such as over-current protection, thermal shutdown, and under-voltage lockout in motor drivers. These features safeguard both the driver and the motor from damage, enhancing reliability and longevity in various applications.
14. What are the limitations of using motor drivers in robotics or automation?
Motor drivers can have limitations like heat dissipation issues, maximum voltage, and current ratings. They may also lack advanced features like feedback control, which can limit precision. Understanding these constraints helps in selecting the appropriate drivers for specific robotics or automation tasks.




















