Cirkit Designer Logo
Cirkit Designer
Your all-in-one circuit design IDE
Home / 
Component Documentation

How to Use L293D: Examples, Pinouts, and Specs

Image of L293D
Cirkit Designer LogoDesign with L293D in Cirkit Designer

Introduction

The L293D is a dual H-bridge motor driver IC manufactured by Texas Instruments. It is designed to control the direction and speed of DC motors and stepper motors. The IC can drive two motors simultaneously, making it a versatile choice for robotics, automation, and motor control applications. With its ability to handle bidirectional current flow, the L293D is ideal for projects requiring precise motor control.

Explore Projects Built with L293D

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Arduino UNO Controlled Obstacle Avoiding Robot with L293D Motor Driver and Ultrasonic Sensor
Image of wall e: A project utilizing L293D in a practical application
This circuit is designed to control a robot with four DC motors for movement, an ultrasonic sensor for distance measurement, and a servo motor to direct the sensor. The L293D driver shield interfaces with the motors, while the Arduino UNO microcontroller runs the embedded code to process sensor data and control motor speeds and directions. An LCD display is included for output, and power is supplied by a 4 x AAA battery mount.
Cirkit Designer LogoOpen Project in Cirkit Designer
Bluetooth-Controlled Robotic Car with L293D Motor Driver and LED Indicators
Image of Bluetooth Car Diagram: A project utilizing L293D in a practical application
This circuit is a motor control system that uses an L293D driver shield to control four hobby gearmotors, with each motor connected to an LED and a resistor for status indication. The system is powered by a 2x 18650 battery pack and includes an HC-05 Bluetooth module for wireless communication.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino-Controlled Dual DC Motor Driver with Hall Effect Sensors and Indicator LEDs
Image of  bluetooth car: A project utilizing L293D in a practical application
This circuit controls two DC motors using an L293D motor driver, with an Arduino UNO as the microcontroller. The Arduino reads inputs from three Hall sensors and controls the motors' direction based on the sensors' states, while also indicating the sensors' status through three LEDs. Each LED and Hall sensor is connected to the Arduino with a current-limiting resistor, and the motors' operation is dependent on the Hall sensors' signals.
Cirkit Designer LogoOpen Project in Cirkit Designer
L293D Motor Driver Control with Pushbutton Interface
Image of Task1: A project utilizing L293D in a practical application
This circuit uses an L293D motor driver to control two motors. The motor driver's enable and input pins are connected to pushbuttons, allowing manual control of the motor's direction and on/off state. A battery provides power to the system, with the L293D regulating the motor operation based on the pushbutton inputs.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with L293D

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Image of wall e: A project utilizing L293D in a practical application
Arduino UNO Controlled Obstacle Avoiding Robot with L293D Motor Driver and Ultrasonic Sensor
This circuit is designed to control a robot with four DC motors for movement, an ultrasonic sensor for distance measurement, and a servo motor to direct the sensor. The L293D driver shield interfaces with the motors, while the Arduino UNO microcontroller runs the embedded code to process sensor data and control motor speeds and directions. An LCD display is included for output, and power is supplied by a 4 x AAA battery mount.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Bluetooth Car Diagram: A project utilizing L293D in a practical application
Bluetooth-Controlled Robotic Car with L293D Motor Driver and LED Indicators
This circuit is a motor control system that uses an L293D driver shield to control four hobby gearmotors, with each motor connected to an LED and a resistor for status indication. The system is powered by a 2x 18650 battery pack and includes an HC-05 Bluetooth module for wireless communication.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of  bluetooth car: A project utilizing L293D in a practical application
Arduino-Controlled Dual DC Motor Driver with Hall Effect Sensors and Indicator LEDs
This circuit controls two DC motors using an L293D motor driver, with an Arduino UNO as the microcontroller. The Arduino reads inputs from three Hall sensors and controls the motors' direction based on the sensors' states, while also indicating the sensors' status through three LEDs. Each LED and Hall sensor is connected to the Arduino with a current-limiting resistor, and the motors' operation is dependent on the Hall sensors' signals.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Task1: A project utilizing L293D in a practical application
L293D Motor Driver Control with Pushbutton Interface
This circuit uses an L293D motor driver to control two motors. The motor driver's enable and input pins are connected to pushbuttons, allowing manual control of the motor's direction and on/off state. A battery provides power to the system, with the L293D regulating the motor operation based on the pushbutton inputs.
Cirkit Designer LogoOpen Project in Cirkit Designer

Common Applications

  • Robotics and automation systems
  • Motorized toys and vehicles
  • Conveyor belts and industrial machinery
  • Stepper motor control in CNC machines and 3D printers
  • Home automation systems

Technical Specifications

The L293D is a robust IC with the following key specifications:

Parameter Value
Manufacturer Texas Instruments
Part Number L293D
Operating Voltage Range 4.5V to 36V
Output Current (per channel) 600 mA (continuous)
Peak Output Current 1.2 A (non-repetitive, per channel)
Logic Input Voltage Range 0V to 7V
Power Dissipation 5W (at 25°C)
Operating Temperature Range -40°C to 150°C
Number of Channels 2 (dual H-bridge)
Motor Types Supported DC motors, stepper motors

Pin Configuration and Descriptions

The L293D comes in a 16-pin DIP (Dual Inline Package). Below is the pinout and description:

Pin Number Pin Name Description
1 Enable 1,2 Enables H-bridge 1 (active HIGH). Connect to HIGH to enable motor 1.
2 Input 1 Logic input for H-bridge 1. Controls the direction of motor 1.
3 Output 1 Output for H-bridge 1. Connect to one terminal of motor 1.
4 GND Ground (0V). Connect to the power supply ground.
5 GND Ground (0V). Connect to the power supply ground.
6 Output 2 Output for H-bridge 1. Connect to the other terminal of motor 1.
7 Input 2 Logic input for H-bridge 1. Controls the direction of motor 1.
8 Vcc2 Motor supply voltage (4.5V to 36V). Connect to the motor power supply.
9 Enable 3,4 Enables H-bridge 2 (active HIGH). Connect to HIGH to enable motor 2.
10 Input 3 Logic input for H-bridge 2. Controls the direction of motor 2.
11 Output 3 Output for H-bridge 2. Connect to one terminal of motor 2.
12 GND Ground (0V). Connect to the power supply ground.
13 GND Ground (0V). Connect to the power supply ground.
14 Output 4 Output for H-bridge 2. Connect to the other terminal of motor 2.
15 Input 4 Logic input for H-bridge 2. Controls the direction of motor 2.
16 Vcc1 Logic supply voltage (5V). Connect to the logic power supply.

Usage Instructions

How to Use the L293D in a Circuit

  1. Power Connections:

    • Connect Vcc1 (Pin 16) to a 5V logic power supply.
    • Connect Vcc2 (Pin 8) to the motor power supply (4.5V to 36V, depending on the motor's requirements).
    • Connect all GND pins (Pins 4, 5, 12, 13) to the ground of the power supply.
  2. Motor Connections:

    • Connect the motor terminals to the Output pins (Pins 3 and 6 for motor 1, Pins 11 and 14 for motor 2).
  3. Control Logic:

    • Use the Input pins (Pins 2, 7 for motor 1; Pins 10, 15 for motor 2) to control the direction of the motors.
    • Set the Enable pins (Pins 1, 9) HIGH to activate the corresponding H-bridge.
  4. Direction Control:

    • Apply HIGH or LOW signals to the input pins to control the motor's direction:
      • Input1 HIGH, Input2 LOW: Motor rotates in one direction.
      • Input1 LOW, Input2 HIGH: Motor rotates in the opposite direction.
      • Both inputs LOW: Motor stops (brake mode).
  5. Speed Control:

    • Use a PWM (Pulse Width Modulation) signal on the Enable pins to control motor speed.

Example: Connecting L293D to Arduino UNO

Below is an example of how to control a DC motor using the L293D and Arduino UNO:

// Define L293D pins connected to Arduino
const int enablePin = 9;  // Enable pin for motor 1
const int input1 = 8;     // Input 1 for motor 1
const int input2 = 7;     // Input 2 for motor 1

void setup() {
  // Set pin modes
  pinMode(enablePin, OUTPUT);
  pinMode(input1, OUTPUT);
  pinMode(input2, OUTPUT);

  // Initialize motor in stopped state
  digitalWrite(enablePin, LOW);
  digitalWrite(input1, LOW);
  digitalWrite(input2, LOW);
}

void loop() {
  // Rotate motor in one direction
  digitalWrite(enablePin, HIGH);  // Enable motor
  digitalWrite(input1, HIGH);     // Set direction
  digitalWrite(input2, LOW);
  delay(2000);                    // Run for 2 seconds

  // Stop motor
  digitalWrite(enablePin, LOW);   // Disable motor
  delay(1000);                    // Wait for 1 second

  // Rotate motor in the opposite direction
  digitalWrite(enablePin, HIGH);  // Enable motor
  digitalWrite(input1, LOW);      // Set direction
  digitalWrite(input2, HIGH);
  delay(2000);                    // Run for 2 seconds

  // Stop motor
  digitalWrite(enablePin, LOW);   // Disable motor
  delay(1000);                    // Wait for 1 second
}

Important Considerations

  • Ensure the motor's current and voltage ratings are within the L293D's limits.
  • Use proper decoupling capacitors near the power supply pins to reduce noise.
  • Avoid exceeding the IC's maximum power dissipation to prevent overheating.

Troubleshooting and FAQs

Common Issues

  1. Motor Not Running:

    • Check if the Enable pin is HIGH.
    • Verify the power supply connections to Vcc1 and Vcc2.
    • Ensure the Input pins are receiving the correct logic signals.
  2. Motor Running in the Wrong Direction:

    • Swap the HIGH/LOW signals on the Input pins to reverse the motor's direction.
  3. IC Overheating:

    • Ensure the motor's current does not exceed 600 mA per channel.
    • Use a heatsink if necessary for high-power applications.
  4. PWM Not Controlling Speed:

    • Verify that the PWM signal is connected to the Enable pin.
    • Check the PWM frequency and duty cycle settings in your microcontroller.

FAQs

Q: Can the L293D drive stepper motors?
A: Yes, the L293D can drive stepper motors by controlling the sequence of logic signals on the Input pins.

Q: What is the difference between Vcc1 and Vcc2?
A: Vcc1 powers the logic circuitry (5V), while Vcc2 powers the motors (4.5V to 36V).

Q: Can I use the L293D with a 3.3V microcontroller?
A: The L293D requires a minimum logic voltage of 4.5V, so it is not directly compatible with 3.3V logic. Use a level shifter or a 5V microcontroller.

Q: How many motors can the L293D control?
A: The L293D can control two DC motors or one stepper motor.