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 designed to control the direction and speed of DC motors and stepper motors. It is widely used in robotics and automation projects due to its ability to drive two motors simultaneously. Each channel of the L293D can handle up to 600 mA of current, making it suitable for small to medium-sized motors. The IC also features built-in diodes for back-EMF protection, ensuring safe operation with inductive loads like motors.

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: Driving wheels or robotic arms
  • Automation: Conveyor belts, automated gates
  • DIY projects: Remote-controlled cars, drones
  • Stepper motor control for CNC machines or 3D printers

Technical Specifications

Below are the key technical details of the L293D motor driver IC:

Parameter Value
Operating Voltage 4.5V to 36V
Output Current (per channel) 600 mA (peak: 1.2A)
Logic Input Voltage 0V to 7V
Control Logic Levels Low: 0V, High: 5V
Number of Channels 2 (dual H-bridge)
Maximum Power Dissipation 5W
Built-in Protection Back-EMF diodes
Operating Temperature -40°C to +150°C

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 (High = Enabled, Low = Disabled)
2 Input 1 Logic input for H-bridge 1 (controls motor direction)
3 Output 1 Output for H-bridge 1 (connect to motor terminal)
4 GND Ground (common ground for logic and motor power)
5 GND Ground (common ground for logic and motor power)
6 Output 2 Output for H-bridge 1 (connect to motor terminal)
7 Input 2 Logic input for H-bridge 1 (controls motor direction)
8 Vcc2 (Motor V+) Motor power supply (4.5V to 36V)
9 Enable 3,4 Enables H-bridge 2 (High = Enabled, Low = Disabled)
10 Input 3 Logic input for H-bridge 2 (controls motor direction)
11 Output 3 Output for H-bridge 2 (connect to motor terminal)
12 GND Ground (common ground for logic and motor power)
13 GND Ground (common ground for logic and motor power)
14 Output 4 Output for H-bridge 2 (connect to motor terminal)
15 Input 4 Logic input for H-bridge 2 (controls motor direction)
16 Vcc1 (Logic V+) Logic power supply (5V)

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).
    • 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 (Output 1 and Output 2 for Motor 1, Output 3 and Output 4 for Motor 2).
  3. Control Logic:

    • Use the input pins (Input 1, Input 2, Input 3, Input 4) to control the direction of the motors.
    • Enable the H-bridges by setting the Enable pins (Enable 1,2 and Enable 3,4) to HIGH.
  4. Direction Control:

    • Set the input pins as follows to control motor direction:
      • Input 1 = HIGH, Input 2 = LOW → Motor 1 rotates forward.
      • Input 1 = LOW, Input 2 = HIGH → Motor 1 rotates backward.
      • Input 3 = HIGH, Input 4 = LOW → Motor 2 rotates forward.
      • Input 3 = LOW, Input 4 = HIGH → Motor 2 rotates backward.
  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 Arduino code to control a DC motor using the L293D:

// Define motor control pins
const int enablePin = 9;  // PWM pin for speed control
const int input1Pin = 7;  // Direction control pin 1
const int input2Pin = 8;  // Direction control pin 2

void setup() {
  // Set motor control pins as outputs
  pinMode(enablePin, OUTPUT);
  pinMode(input1Pin, OUTPUT);
  pinMode(input2Pin, OUTPUT);
}

void loop() {
  // Rotate motor forward at 50% speed
  analogWrite(enablePin, 128);  // Set speed (0-255)
  digitalWrite(input1Pin, HIGH); // Set direction
  digitalWrite(input2Pin, LOW);
  delay(2000); // Run for 2 seconds

  // Rotate motor backward at full speed
  analogWrite(enablePin, 255);  // Set speed (0-255)
  digitalWrite(input1Pin, LOW);  // Set direction
  digitalWrite(input2Pin, HIGH);
  delay(2000); // Run for 2 seconds

  // Stop the motor
  analogWrite(enablePin, 0);  // Set speed to 0
  delay(2000); // Wait for 2 seconds
}

Important Considerations

  • Ensure the motor power supply voltage matches the motor's specifications.
  • Do not exceed the maximum current rating of 600 mA per channel.
  • Use a heat sink if the IC gets too hot during operation.
  • Always connect all ground pins to a common ground.

Troubleshooting and FAQs

Common Issues

  1. Motor Not Spinning:

    • Check if the Enable pin is set to HIGH.
    • Verify the motor power supply voltage and connections.
    • Ensure the input pins are configured correctly for the desired direction.
  2. Motor Spins in the Wrong Direction:

    • Swap the logic levels of the input pins (e.g., HIGH to LOW and vice versa).
  3. IC Overheating:

    • Ensure the current drawn by the motor does not exceed 600 mA per channel.
    • Use a heat sink or reduce the motor load.
  4. No Response from the Motor:

    • Check the ground connections between the L293D, power supply, and microcontroller.
    • Verify that the logic power supply (Vcc1) is 5V.

FAQs

Q: Can the L293D drive stepper motors?
A: Yes, the L293D can drive stepper motors by controlling the sequence of inputs to the H-bridges.

Q: Can I use the L293D with a 3.3V microcontroller?
A: The L293D requires a minimum logic voltage of 4.5V. Use a level shifter or a 5V microcontroller for compatibility.

Q: How do I control motor speed with the L293D?
A: Use a PWM signal on the Enable pins to adjust the motor speed.

Q: What happens if I exceed the current rating?
A: Exceeding the current rating can damage the IC. Use motors within the specified current limits or add external current-limiting circuitry.