Complete L293D Motor Driver Circuit Diagram Explanation and Wiring Guide

Begin by wiring the dual H-bridge IC to a 5V logic supply and a separate motor voltage source, typically between 4.5V and 36V. Ensure the enabling pins (pin 1 and pin 9) connect directly to the logic supply–bypassing them will disable motor outputs. Ground pins 4, 5, 12, and 13 must tie to a common ground plane, critical for stable operation and heat dissipation. For bidirectional control, pair input pins (2 with 7, and 10 with 15) to complementary logic signals; inconsistent pairing risks erratic motor behavior or IC damage.
Place 0.1μF ceramic capacitors between the motor voltage input (pin 8) and ground, as close to the IC as possible. Omit these, and voltage spikes from motor inductance may exceed the absolute maximum rating of 36V, degrading performance or destroying the component. For currents above 600mA, mount the IC on a heatsink; thermal resistance θJA is 65°C/W, and even brief overloads can push junction temperatures beyond 150°C without proper cooling.
Test with a 1kHz PWM signal on the enabling pins for speed control. Frequencies above 5kHz may reduce torque due to the IC’s relatively slow internal switching. Verify direction changes by toggling the input pairs while monitoring supply current–spikes above 2A during reversal indicate insufficient power delivery or inadequate decoupling. For microcontroller compatibility, use 3.3V or 5V logic levels; higher voltages on input pins void the safe operating area.
Replace flyback diodes with Schottky types (e.g., 1N5822) if driving motors with high stall currents. Standard silicon diodes introduce a forward voltage drop of ~0.7V, limiting efficiency in low-voltage applications. For dual-motor setups, isolate ground paths between motors to prevent crosstalk–shared grounds can induce false triggering on enable or direction pins.
Practical Guide to Building Motor Driver Circuits with the L293 Family
Connect the chip’s enable pins (1 and 9) to a microcontroller’s PWM outputs for speed regulation. Leave them tied high if full-speed operation is sufficient, but ensure the voltage matches the chip’s logic level (4.5–7 V) to avoid erratic behavior. For dual H-bridge setups, each enable pin governs one channel–use separate PWM signals if independent speed control is needed.
Place 0.1 µF ceramic capacitors between each supply pin (8 for motor power, 16 for logic) and ground, positioned as close to the chip as possible. Omit them only in noise-free environments, but expect voltage spikes that may reset microcontrollers or trigger false signals. For motors exceeding 1 A, add a 10 µF electrolytic capacitor across the motor power input to smooth current surges during direction changes.
Grounding and Heat Management
Use a star grounding topology to prevent ground loops. Connect all grounds (motor supply, logic supply, microcontroller) at a single point near the driver chip’s ground pin. For currents above 600 mA per channel, attach the chip to a heatsink using thermal adhesive. Without it, the internal thermal shutdown will engage unpredictably, cutting off motor power mid-operation.
- Logic inputs (pins 2, 7, 10, 15) accept 3.3 V or 5 V signals; use level shifters if interfacing with 1.8 V devices.
- Motor outputs (pins 3, 6, 11, 14) tolerate up to 36 V, but limit input voltage to 2–3 V below the absolute maximum to prevent latch-up.
- Avoid floating inputs–tie unused logic inputs to GND or VCC via 10 kΩ resistors to prevent random motor activation.
Wiring Pitfalls and Testing

Verify motor polarity before connecting to outputs. Reversing it during testing risks damaging the chip’s output stage due to back-EMF. Test each direction individually with a 50% duty cycle PWM signal to observe motor behavior under controlled load. If one direction fails, swap motor wires–this isolates whether the issue is the driver or the motor’s coil.
For bidirectional control, use two logic pins per motor (e.g., IN1 and IN2). A truth table simplifies debugging:
- IN1=HIGH, IN2=LOW: Forward rotation.
- IN1=LOW, IN2=HIGH: Reverse rotation.
- Both HIGH or both LOW: Brake (hard stop).
Measure voltage at the output pins with a multimeter before attaching motors. A reading of ~0.7 V below supply voltage indicates normal operation; 0 V suggests a shorted output or incorrect logic input.
Pin Configuration and Signal Assignment for the H-Bridge Driver (SN754410)

Connect the dual H-bridge’s supply pin (VS) directly to the motor voltage source–no intermediary resistors or capacitors–unless transient spikes exceed 40V, in which case add a 100nF ceramic capacitor between VS and ground within 2mm of the pin. Assign EN1/EN2 to PWM outputs from the microcontroller; switching frequencies above 20kHz reduce audible noise but increase switching losses–opt for 5kHz–10kHz for 12V DC motors. Pull unused enable pins low through a 10kΩ resistor to prevent erratic motor behavior.
Input-Output Pairing
Map IN1–IN4 to consistent logic levels: tie IN1 and IN2 oppositely for forward/reverse on Channel 1, repeat IN3/IN4 for Channel 2. Swapping input polarities without updating the microcontroller code risks shoot-through–verify PWM timing diagrams before deployment. For 3.3V logic compatibility, insert a 1kΩ series resistor between the microcontroller GPIO and each input pin to limit current during voltage overshoot.
Ground pin (GND) demands a star topology; route all ground returns–motor, logic, and decoupling capacitors–to a single copper pour beneath the IC footprint. Neglecting this causes ground bounce, manifesting as intermittent direction changes. Add a 10µF electrolytic capacitor across VS and GND for bulk decoupling, positioned no farther than 10mm from the IC, to suppress voltage dips during stall conditions.
Heatsink the exposed pad (if present) via thermal vias to a dedicated ground plane–thermal resistance drops ≥30% with 6 vias (0.3mm diameter). Without heatsinking, sustained currents above 600mA degrade silicon integrity; derate maximum current linearly above 85°C ambient. Monitor die temperature using the thermal shutdown flag: pin TSD trips at 150°C±10°C and resets at 130°C±10°C, requiring logic-level acknowledgment in closed-loop applications.
Step-by-Step Wiring of a Dual H-Bridge IC with DC Motors
Connect the motor driver’s logic supply (Vcc1) to 5V–this powers the internal circuitry without damaging control inputs. Use a regulated source capable of 600mA to handle transients during direction changes. Link the motor voltage (Vcc2) to the battery or power supply matching your DC motor’s rated voltage; a 9V alkaline cell works for small 6V motors, while 12V motors require a lead-acid or LiPo pack. Ensure the ground pins (GND) are tied together–motor noise can disrupt microcontroller stability if grounds float.
Attach DC motor leads to both output pairs: pin 3 to OUT1, pin 6 to OUT2 for the first motor, and pin 11 to OUT3, pin 14 to OUT4 for the second. Route enable pins (EN1 and EN2) to PWM-capable microcontroller outputs (e.g., Arduino D9/D10) to regulate speed–50% duty cycle yields ~60% of stall torque on 12V motors. Use 0.1µF ceramic capacitors across Vcc2-GND and motor terminals to suppress voltage spikes; Schottky diodes (1N5817) across outputs absorb back-EMF during coasting. Test rotation by toggling IN1/IN2 (high/low) and IN3/IN4 (low/high) for forward/reverse; stall current exceeding 1.2A mandates heatsinking the driver’s center pad.
Power Supply Requirements and Voltage Regulation Options

Select a 5V-12V DC power source with a current rating at least 20% higher than the motor’s stall current. For dual H-bridge ICs driving small DC motors, typical requirements range from 600mA to 2A depending on load. Ripple voltage should not exceed 100mV peak-to-peak; LC filters with 100μH inductors and 220μF capacitors effectively suppress noise.
Linear regulators like the 7805 suit low-power applications but waste power as heat. For 5V output from a 12V input, the dropout voltage (typically 2V) reduces efficiency to ~42%. Switching regulators (e.g., LM2596) improve efficiency to 80-90% at loads above 200mA, with adjustable outputs down to 3.3V. Check thermal dissipation: a TO-220 package requires a heatsink if power loss exceeds 1W.
| Regulator Type | Input Voltage Range | Max Current | Efficiency | Typical Use Case |
|---|---|---|---|---|
| 7805 (Linear) | 7V-30V | 1A | 30-60% | Light loads, |
| LM2596 (Buck) | 4.5V-40V | 3A | 80-92% | Moderate loads, 200mA-3A |
| TPS54331 (Buck) | 4.5V-28V | 3A | 85-95% | High loads, 500mA-3A |
For battery-powered setups, lithium-ion cells (3.7V nominal) require boost converters for 5V output. MT3608 modules step up voltage at 93% efficiency but need input capacitors (minimum 22μF) to stabilize voltage sag during motor start. Alkaline batteries (6V nominal) may use a linear regulator but drain quickly under load–expect 30% runtime reduction compared to NiMH.
Isolate motor and logic power where possible. Motors induce back EMF spikes; a Schottky diode (1N5822) across motor terminals clamps voltage to 0.3V above source. Optocouplers (PC817) or separate power domains prevent noise coupling. For logic circuits, 3.3V is standard–ensure regulator can handle 400mV dropout when operating from a 5V rail.
Thermal management dictates long-term reliability. A 7805 without a heatsink handles 1A at 25°C ambient but fails at 75°C if dissipating 5W. Copper pours on PCBs act as heat sinks for SMD regulators (e.g., AMS1117); extend pours to ground planes with vias for improved thermal conduction.
Reverse polarity protection is critical: even brief exposure destroys ICs. Fuses (500mA-2A) or P-channel MOSFETs (IRF5305) prevent damage. Sensing circuits (e.g., voltage dividers on ADC pins) monitor supply health; low-voltage cutoffs (e.g., MCP111) prevent deep battery discharge.
Implement bulk capacitance near the motor driver: 470μF electrolytic capacitors absorb current spikes, while 0.1μF ceramics filter high-frequency noise. For 12V supplies, dual capacitors (e.g., 220μF + 0.1μF) stabilize output during transient loads. Measure ripple with an oscilloscope under worst-case conditions–noise above 200mV risks erratic motor behavior.