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

How to Use L293 DC and Stepper motro driver: Examples, Pinouts, and Specs

Image of L293 DC and Stepper motro driver
Cirkit Designer LogoDesign with L293 DC and Stepper motro driver in Cirkit Designer

Introduction

The L293 is a dual H-bridge motor driver IC designed to control DC and stepper motors. It enables bidirectional control, allowing motors to rotate in both clockwise and counterclockwise directions. With the ability to drive two motors simultaneously, the L293 is a versatile component widely used in robotics, automation, and motor control applications. It can handle up to 600mA of current per channel and operates at a wide voltage range, making it suitable for a variety of projects.

Explore Projects Built with L293 DC and Stepper motro driver

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
ESP32-Controlled Dual Stepper Motor Driver System
Image of project carseten: A project utilizing L293 DC and Stepper motro driver in a practical application
This circuit consists of two L298N DC motor drivers controlled by an ESP32 microcontroller to drive two bipolar stepper motors. The ESP32 uses its GPIO pins to send control signals to the motor drivers, which in turn power the stepper motors with a 12V supply from either a battery or a power supply. The circuit is designed for precise control of stepper motors, likely for applications requiring synchronized movements, such as robotics or CNC machines.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32-Controlled Dual DC Motor & Stepper Motor Driver System
Image of Fyp circuit diagram: A project utilizing L293 DC and Stepper motro driver in a practical application
This circuit controls two DC motors and a stepper motor using an ESP32 microcontroller. The L298N motor driver interfaces with the ESP32 to drive the DC motors, allowing for directional control and speed regulation through PWM. Additionally, the ULN2003A breakout board is used to control the 28BYJ-48 stepper motor, with the ESP32 dictating the stepping sequence. Power is supplied by 9V batteries, with toggle switches to control power flow to the motor drivers.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32 and L298N Motor Driver Controlled DC and Stepper Motors with Toggle Switch and Battery Power
Image of L298N_Arduino: A project utilizing L293 DC and Stepper motro driver in a practical application
This circuit controls two DC motors and a stepper motor using an ESP32 microcontroller. The L298N motor driver is used to drive the DC motors, while the ULN2003A breakout board is used to control the stepper motor. The ESP32 is programmed to manage the motor operations, including direction and speed control.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino-Controlled Stepper and DC Motor with Relay Switching
Image of Conveyor Belt & Capping Motor: A project utilizing L293 DC and Stepper motro driver in a practical application
This circuit controls a Nema 17 stepper motor using a DRV8825 driver module, with an Arduino UNO microcontroller dictating the step and direction. Additionally, the circuit can switch a DC motor on and off using a relay module controlled by the Arduino. The power supply provides the necessary voltage for the relay and the motor driver, which in turn powers the stepper motor, while the Arduino's firmware defines the motor's stepping behavior and the relay's switching to control the DC motor.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with L293 DC and Stepper motro driver

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 project carseten: A project utilizing L293 DC and Stepper motro driver in a practical application
ESP32-Controlled Dual Stepper Motor Driver System
This circuit consists of two L298N DC motor drivers controlled by an ESP32 microcontroller to drive two bipolar stepper motors. The ESP32 uses its GPIO pins to send control signals to the motor drivers, which in turn power the stepper motors with a 12V supply from either a battery or a power supply. The circuit is designed for precise control of stepper motors, likely for applications requiring synchronized movements, such as robotics or CNC machines.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Fyp circuit diagram: A project utilizing L293 DC and Stepper motro driver in a practical application
ESP32-Controlled Dual DC Motor & Stepper Motor Driver System
This circuit controls two DC motors and a stepper motor using an ESP32 microcontroller. The L298N motor driver interfaces with the ESP32 to drive the DC motors, allowing for directional control and speed regulation through PWM. Additionally, the ULN2003A breakout board is used to control the 28BYJ-48 stepper motor, with the ESP32 dictating the stepping sequence. Power is supplied by 9V batteries, with toggle switches to control power flow to the motor drivers.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of L298N_Arduino: A project utilizing L293 DC and Stepper motro driver in a practical application
ESP32 and L298N Motor Driver Controlled DC and Stepper Motors with Toggle Switch and Battery Power
This circuit controls two DC motors and a stepper motor using an ESP32 microcontroller. The L298N motor driver is used to drive the DC motors, while the ULN2003A breakout board is used to control the stepper motor. The ESP32 is programmed to manage the motor operations, including direction and speed control.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Conveyor Belt & Capping Motor: A project utilizing L293 DC and Stepper motro driver in a practical application
Arduino-Controlled Stepper and DC Motor with Relay Switching
This circuit controls a Nema 17 stepper motor using a DRV8825 driver module, with an Arduino UNO microcontroller dictating the step and direction. Additionally, the circuit can switch a DC motor on and off using a relay module controlled by the Arduino. The power supply provides the necessary voltage for the relay and the motor driver, which in turn powers the stepper motor, while the Arduino's firmware defines the motor's stepping behavior and the relay's switching to control the DC motor.
Cirkit Designer LogoOpen Project in Cirkit Designer

Common Applications:

  • Robotics (e.g., motorized robots, robotic arms)
  • Automation systems
  • Motorized toys
  • Conveyor belts
  • Stepper motor control for CNC machines or 3D printers

Technical Specifications

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

Parameter Value
Operating Voltage 4.5V to 36V
Output Current (per channel) 600mA (continuous), 1.2A (peak)
Logic Input Voltage 4.5V to 7V
Number of Channels 2 (dual H-bridge)
Motor Types Supported DC motors, stepper motors
Enable Pins 2 (one for each H-bridge)
Thermal Shutdown Yes
Package Type DIP16, SOIC16

Pin Configuration and Descriptions

The L293 IC has 16 pins, as described in the table below:

Pin Number Pin Name Description
1 Enable 1,2 Enables H-bridge 1 (controls motor 1). High = Enabled, Low = Disabled.
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 connection.
5 GND Ground connection.
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 for motors (4.5V to 36V).
9 Enable 3,4 Enables H-bridge 2 (controls motor 2). High = Enabled, Low = Disabled.
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 connection.
13 GND Ground connection.
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 for logic circuitry (4.5V to 7V).

Usage Instructions

How to Use the L293 in a Circuit

  1. Power Connections:

    • Connect Vcc1 (pin 16) to a 5V power supply for the logic circuitry.
    • 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:

    • For motor 1, connect its terminals to Output 1 (pin 3) and Output 2 (pin 6).
    • For motor 2, connect its terminals to Output 3 (pin 11) and Output 4 (pin 14).
  3. Control Logic:

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

    • To rotate a motor in one direction, set one Input pin high and the other low.
    • To reverse the direction, swap the logic levels of the Input pins.
  5. Enable/Disable Motors:

    • Set the Enable pin low to disable the motor (outputs will be in high-impedance state).

Example: Controlling a DC Motor with Arduino UNO

Below is an example Arduino sketch to control a DC motor using the L293:

// Define L293 pins connected to Arduino
const int enablePin = 9;  // Enable pin for motor 1
const int input1 = 7;     // Input 1 for motor 1
const int input2 = 8;     // 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);  // Disable motor
  digitalWrite(input1, LOW);     // Set input1 low
  digitalWrite(input2, LOW);     // Set input2 low
}

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

  // Rotate motor counterclockwise
  digitalWrite(input1, LOW);      // Set input1 low
  digitalWrite(input2, HIGH);     // Set input2 high
  delay(2000);                    // Run motor for 2 seconds

  // Stop motor
  digitalWrite(enablePin, LOW);   // Disable motor
  delay(2000);                    // Wait for 2 seconds
}

Best Practices:

  • Use a heat sink if the IC gets too hot during operation.
  • Add flyback diodes across the motor terminals to protect the IC from voltage spikes.
  • Ensure the motor's current requirements do not exceed the L293's maximum ratings.

Troubleshooting and FAQs

Common Issues and Solutions

  1. Motor Not Spinning:

    • Check if the Enable pin is set high.
    • Verify the power supply connections to Vcc1 and Vcc2.
    • Ensure the Input pins are receiving the correct logic levels.
  2. Motor Spins in Only One Direction:

    • Verify the connections to the Input pins.
    • Check if one of the Input pins is stuck at a fixed logic level.
  3. IC Overheating:

    • Ensure the motor's current does not exceed 600mA per channel.
    • Use a heat sink or cooling fan to dissipate heat.
  4. No Output Voltage on Motor Terminals:

    • Confirm that the Enable pin is high.
    • Check for loose or incorrect wiring.

FAQs

Q: Can the L293 drive stepper motors?
A: Yes, the L293 can drive stepper motors by controlling the sequence of the Input pins. Each H-bridge can control one coil of the stepper motor.

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

Q: Can I use the L293 with a 3.3V microcontroller?
A: The L293 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 L293 control?
A: The L293 can control two DC motors or one stepper motor.