L293D Motor Driver IC: Pinout, Specs, Wiring & Arduino Guide
What Is the L293D Motor Driver IC?
The L293D is a two-channel motor driver integrated circuit that has been optimized to drive the direction and speed of DC motors and stepper motors with input signals of logic level. It has two full H-bridge driver circuits on the inside so that two motors can be operated independently or a single stepper motor can be operated in two directions. The IC acts as a power interface between low-voltage digital logic and higher-power motor loads, enabling microcontrollers such as Arduino, PIC, or STM32 to safely drive motors. Built-in clamp diodes and thermal shutdown mechanisms improve durability and reliability.

Key Features of the L293D IC
The L293D is popular due to its flexible functions and easy incorporation into an electronic circuit, such as dual H-bridge infrastructure, the ability to drive two DC motors or one stepper motor, capable of providing up to 600 mA per channel of current output, high current up to 1.2 A, motor powerable to 4.5 V to 36 V, TTL logic-friendly inputs, built-in clamp diodes to protect against inductive loads, thermal shutdown functions, and short-circuit safety nets, which collectively made it useful
L293D Pinout and Pin Configuration
It is important to understand the pin configuration of the L293D so as to properly wire and design a circuit because the 16-pin DIP package is made up of control inputs, motor outputs, logic power, motor power and ground connections to be properly wired and laid out on a breadboard layout or integrated into a PCB.
L293D Pin Description Table
|
Pin |
Name |
Function |
|
1 |
EN1 |
Enable for Motor A |
|
2 |
IN1 |
Control input 1 |
|
3 |
OUT1 |
Motor A output 1 |
|
4 |
GND |
Ground |
|
5 |
GND |
Ground |
|
6 |
OUT2 |
Motor A output 2 |
|
7 |
IN2 |
Control input 2 |
|
8 |
VCC2 |
Motor supply voltage |
|
9 |
EN2 |
Enable for Motor B |
|
10 |
IN3 |
Control input 3 |
|
11 |
OUT3 |
Motor B output 1 |
|
12 |
GND |
Ground |
|
13 |
GND |
Ground |
|
14 |
OUT4 |
Motor B output 2 |
|
15 |
IN4 |
Control input 4 |
|
16 |
VCC1 |
Logic supply voltage |
L293D Electrical Specifications
The electrical characteristics of L293D found in the L293D specifications outline the operating limits and operating performance limits, as well as the reliability of L293D in the real world. The logic supply voltage (VCC1) typically ranges from 4.5 V to 7 V, making it fully compatible with standard 5 V microcontrollers such as Arduino and PIC. The motor supply voltage (VCC2) ranges from 4.5 V to 36 V, enabling it to drive both low-voltage hobby motors and higher-voltage industrial-grade DC motors. Individual output channels have continuous current limits of up to 600 mA, and peak currents to 1.2 A within short periods, which is adequate for most small to medium-sized motors in robotics and automation. The IC is also combined with internal clamp diodes, thermal shutdown and short-circuit protection; therefore is safe and stable during dynamic loads on the motor.
How the L293D Works (Internal Architecture & H-Bridge Operation)
The L293D internal architecture is an implementation of the concept of dual H-bridge driver circuits, enabling the controlled motor direction and speed with the help of digital logic inputs. Any H-bridge is made up of four switching transistors that are connected in such a way that allows two-way current flow across the winding of the motor. The microcontroller is able to detect the direction of rotation, braking or freewheeling of the motor by setting input logic levels, and treat the enable pins to enable PWM modulation to provide smooth control of the speed.
L293D Truth Table and Motor Direction Control Logic
The truth table of the L293D explains how the logic inputs and enable pins determine motor behavior, including forward rotation, reverse rotation, braking, and stop modes. The enable pin can be set high, and the related input pins can be switched to enable the user to move the motor wherever they want, whilst a smooth change in speed by using PWM signals can be achieved, making hardware design easier and easier to do in software.
L293D Wiring Diagram and Connection Guide
In single DC motor control, a single channel of the H-bridge is used, whereas the other channel is not used, and the connections between the motor terminals and IN1 and IN2 control signals to the motor, and the PWM signal to the speed control EN1.
L293D Single DC Motor Wiring
In dual motor designs, both H-bridge channels work independently, allowing the control of two motors concurrently. This is especially helpful in the robotics of a differential drive and in mobile automation platforms, where coordinated control of speed and direction is required.
L293D Dual DC Motor Wiring
In operating a bipolar stepper motor, it is common to energize the windings of the motor sequentially using both H-bridges in series to control the angle of steps, the direction of rotation, and the torque to achieve precise motion control and positioning systems.
L293D Stepper Motor Wiring
Connecting the L293D with Arduino boards is easy because of its TTL logic compatibility and flexible power needs; it is possible to turn the L293D into a bi-directional motor controller with adjustable speed control with minimal wiring and short software programs.
L293D Arduino Interface and Example Code
Interfacing the L293D with Arduino boards is straightforward due to its TTL-compatible logic inputs and flexible power requirements, allowing users to implement bidirectional motor control and variable speed regulation using simple wiring and concise software routines.
Arduino UNO + L293D Basic Connection
In a standard setup, Arduino digital pins connect to the control and enable inputs of the L293D, while separate regulated supplies feed the logic and motor voltage rails, ensuring electrical stability and reducing noise interference.
PWM Speed Control Using L293D
In order to provide PWM speed control, a pulse-width modulated signal is applied to enable pins of the L293D, and motor speed can then be closely controlled by modifying the duty cycle, which results in more efficiency, reduced power dissipation and provides a smooth acceleration and deceleration characteristic.
Typical Applications of L293D Motor Driver IC
L293D has found extensive applications in Arduino robots, line-following robots, obstacle-avoiding vehicles, automated curtain systems, smart homes, small CNC machines, camera sliders, educational systems and embedded automation systems that need a flexible and practical motor control.
L293D vs L298N vs TB6612FNG
Comparing the L293D with more modern motor drivers, one can note the simplicity and ease of the product, besides the efficiency advantages of the type of design that is newer, such as the TB6612FNG, where an engineer is able to select the appropriate alternative to what they need in their application.
|
Feature |
L293D |
L298N |
TB6612FNG |
|
Channels |
2 |
2 |
2 |
|
Max Current |
600 mA |
2 A |
1.2 A |
|
Voltage Drop |
High |
Very High |
Low |
|
Efficiency |
Low |
Low |
High |
|
Package Size |
Small |
Large |
Small |
Common Problems and Troubleshooting Tips
The problems commonly encountered with the L293D are that the motors do not spin, overheating, high voltage drop, variable speed, and electrical noise interference, and are usually due to the lack of sufficiently high capacity of the power supply, improper wiring, omission of decoupling capacitors, or excessive current.
Design Tips and Best Practices
It is possible to maximize the performance of the L293D by adding decoupling capacitors around the power pins, by having logic and motor supply lines originating separately, by providing sufficient copper area to allow heat dissipation, by keeping high-current trace lengths short and by using appropriate grounding techniques.
FAQs
Does the L293D require a heat sink?
In low-current applications, external heat sinks are usually unnecessary. The IC can, however, produce a lot of heat when operating the motors within the 600 mA range. Where this happens, appropriate PCB copper space, air and thermal vias are useful in the dissipation of heat. In the case of constant heavy loads, thermal management is significant.
Can L293D be powered directly from Arduino?
Logic supply (VCC1) may be supplied via Arduino directly to the 5V pin; however, the power supply to the motor (VCC2) must not be supplied via Arduino because motors consume large amounts of current, which can cause damage to the onboard voltage regulator. It is highly advised to have a separate power source to drive a motor.
How efficient is the L293D compared to modern motor drivers?
The L293D drives the output stages of the transistors with a bipolar connection, which causes the reference of low efficiency and power dissipation. Modern cars like TB6612FNG, DRV8833 and DRV8825 employ MOSFET output stages which have much higher efficiency, less voltage drop, and less heat generation.
Some images are sourced online. Please contact us for removal if any copyright concerns arise.










