The L293D Motor Controller IC: Sizing Rules & The 600mA Reality
The L293D motor controller IC is a classic bipolar junction transistor (BJT) dual H-bridge driver capable of delivering 600mA continuous current (1.2A peak) per channel, with motor supply voltages ranging from 4.5V to 36V. While it remains a staple in educational Arduino kits due to its built-in flyback diodes and forgiving DIP-16 package, its BJT architecture introduces a significant voltage drop and thermal inefficiency that modern designs must account for.
Worked Load Example: The Standard TT Gearmotor
Consider the ubiquitous 6V yellow TT gearmotor found in most robotics chassis kits.
- Nominal Running Current: ~170mA at 6V (no load to light load).
- Stall Current: ~1.2A at 6V (shaft physically locked).
- L293D Sizing Check: The 170mA running current is well within the 600mA continuous limit. However, if your robot gets stuck against a wall, the motor stalls and draws 1.2A. This hits the absolute peak limit of the L293D. If the stall lasts longer than a second or two, the IC will trigger its internal thermal shutdown.
- Voltage Drop Reality: Supplying 6V to the L293D's VCC2 pin yields only about 4.2V to 4.6V at the motor terminals under load. If your application requires the full 6V torque, you must supply ~7.5V to the L293D to compensate for the internal drop.
Motor Type Compatibility & Load Profiles
Not all motors can be driven by a simple dual H-bridge. Selecting the right driver requires matching the motor's torque curve and commutation needs to the IC's capabilities. The L293D is strictly designed for brushed DC motors and low-current bipolar stepper motors.
| Motor Type | Torque Curve Profile | Control Needs | Typical Cost | L293D Compatibility |
|---|---|---|---|---|
| Brushed DC | Flat torque curve; max torque at stall, drops as speed increases. | Simple H-bridge (Direction + PWM speed). | $2 - $5 | YES. Ideal for low-current (<600mA) applications. |
| Bipolar Stepper | High holding torque at zero speed; drops off sharply at high RPM. | Dual H-bridge with precise step-sequencing logic. | $10 - $15 | YES. Works for small NEMA 17s, but IC runs very hot due to constant current draw. |
| Brushless DC (BLDC) | Peaky torque at mid-speed; requires electronic commutation. | 3-phase ESC with Hall sensor feedback or sensorless back-EMF tracking. | $15 - $30 | NO. Requires a dedicated 3-phase BLDC driver (e.g., DRV10983). |
| RC Servo | High torque via internal gearbox; position-controlled. | Direct MCU GPIO PWM pulse width (50Hz, 1-2ms pulse). | $5 - $12 | NO. Servos have internal drivers; connect signal wire directly to MCU PWM pin. |
Wiring & Terminal Identification for Brushed DC Loads
When wiring the L293D motor controller IC in a DIP-16 package, proper pin identification is critical to avoid frying the logic side of the chip. The IC features two distinct power domains: one for the internal logic gates and one for the motor outputs.
| Pin Number | Name | Function & Wiring Rules |
|---|---|---|
| 1, 9 | 1,2EN / 3,4EN | Enable Pins. Tie to 5V (VCC1) for always-on, or route to a MCU PWM pin for speed control. |
| 2, 7 / 10, 15 | 1A, 2A / 3A, 4A | Logic Inputs. Connect to MCU digital GPIO pins. High/Low states dictate motor direction. |
| 3, 6 / 11, 14 | 1Y, 2Y / 3Y, 4Y | Motor Outputs. Connect directly to the motor terminals. The 'D' in L293D means internal flyback diodes are present; no external snubber diodes are required. |
| 8 | VCC2 | Motor Power Supply. Connect to your battery pack or motor power source (up to 36V). |
| 16 | VCC1 | Logic Power Supply. Connect to 5V. Never connect motor voltage here. |
| 4, 5, 12, 13 | GND | Ground & Heatsink. All four must be tied to system ground. On a PCB, these pins should connect to a large copper pour to act as a thermal heatsink. |
Failure Signatures: Hum, Overheat, and Stall Diagnostics
Because the L293D relies on older BJT technology rather than modern MOSFETs, it exhibits specific failure modes that builders frequently misdiagnose as broken motors or faulty code.
1. The "Hum Without Movement" Signature
Symptom: The motor emits a high-pitch hum or clicks, but the shaft does not rotate, even when the code commands full speed.
Cause: This is almost always a voltage starvation issue caused by the L293D's internal voltage drop. If you supply 5V to VCC2, the motor only sees ~3.2V. This reduced voltage may be enough to energize the coils (causing the hum) but insufficient to overcome the motor's static friction and start rotation.
Fix: Increase the VCC2 supply voltage to 6V or 7.5V, or switch to a MOSFET-based driver with a lower voltage drop.
2. The Thermal Overheat Signature
Symptom: The motor runs fine for 30 seconds, then abruptly stops. The IC case is scalding hot to the touch. After a minute of cooling, it works again.
Cause: The L293D features internal thermal shutdown circuitry that disables the outputs when the silicon junction reaches approximately 150°C. Because BJTs dissipate power as heat proportional to the voltage drop (P = V_drop × I), running a 500mA load generates nearly 1 Watt of heat inside a tiny plastic DIP package.
Fix: Solder a U-shaped heatsink to the ground pins (4, 5, 12, 13), or redesign the PCB with a solid ground plane under the IC to wick heat away. According to Texas Instruments' thermal guidelines, relying solely on ambient air convection for a DIP-16 package limits continuous current to roughly 350mA at room temperature.
3. The Hard Stall Signature
Symptom: The mechanical load jams, the motor stops, and the L293D permanently fails (outputs shorted or open).
Cause: The motor drew current exceeding the 1.2A peak limit for a sustained period, overwhelming the thermal shutdown's reaction time and melting the internal bond wires.
Fix: Implement software-based stall detection. Monitor the voltage across a low-value shunt resistor in the motor ground path using an ADC. If current spikes to 1A and stays there for >500ms, cut the PWM signal in your firmware.
The Decision Path: L293D vs. Modern Alternatives
While the L293D is excellent for learning the fundamentals of H-bridge logic, modern robotics demand higher efficiency. Use the decision tree below to select the correct driver for your specific load profile.
| Project Constraint | If TRUE... | Recommended Driver IC |
|---|---|---|
| Motor running current is under 300mA, and you are using a standard 5V breadboard kit. | Efficiency and voltage drop are negligible. Prioritize ease of wiring and built-in diodes. | L293D (or L298N for slightly higher currents, though it shares the same BJT heat issues). |
| Motor running current is between 300mA and 1.2A, powered by a lithium battery pack (3.7V - 7.4V). | Voltage drop will kill your battery life and starve the motor. You need MOSFET outputs. | TB6612FNG (1.2A continuous, 0.5V drop, highly efficient). |
| Motor running current is between 1.2A and 3.6A (e.g., NEMA 17 steppers or large 12V DC motors). | The L293D will instantly thermal shutdown. You need a high-current dedicated driver. | DRV8871 (Brushed DC) or A4988 / DRV8825 (Stepper). |
| You need to drive a 3-phase BLDC drone or gimbal motor. | H-bridges cannot commutate 3 phases. You need an ESC. | AM32 / BLHeli_32 ESC or a dedicated 3-phase IC like the DRV11873. |
Final Verdict & Default Recommendation
Do not default to the L293D simply because it is in your starter kit. The BJT architecture is a relic of 1990s silicon that wastes battery capacity as heat.
Default Pick for New Designs: For any new battery-powered project in 2026 requiring between 300mA and 1.2A, purchase the TB6612FNG. It costs roughly $2 more on a breakout board, operates on the same logic principles (DIR + PWM), but uses MOSFETs that run cool and deliver nearly 100% of your battery voltage to the motor.
When to stick with the L293D: Use it exclusively for 5V USB-powered bench prototyping, educational demonstrations where heat is irrelevant, or as a direct drop-in replacement to repair legacy educational robotics platforms. For everything else, upgrade your silicon.






