Motor Driver Module
Module
An H-bridge based module that lets a microcontroller control the speed and direction of DC motors or stepper motors. Handles the high current a motor needs while protecting the logic side with opto or transistor isolation.
What it looks like
Motor Driver Module
A typical module — exact shape, colour and markings vary between manufacturers.
Types & variants
Key specs
Operating voltage
VLogic: 3.3–5V. Motor supply: 5–46V (L298N), 4.5–13.5V (TB6612), 8–35V (BTS7960).
Output current
APer channel continuous. L298N: 2A (peak 3A). TB6612: 1.2A (3A peak). BTS7960: 43A peak.
Channels
—2 channels = 2 DC motors or 1 stepper (4-wire). Single H-bridge = 1 motor bidirectional.
PWM frequency
kHzUp to 100kHz typical. Use 20kHz+ to avoid audible whine.
Dropout voltage
VL298N: ~1.8V at 1A (wasted as heat). MOSFET drivers (TB6612): <0.5V.
Markings
IC part number on the chip (L298N, TB6612FNG, DRV8833). Module name on silkscreen. Terminal labels: OUT1, OUT2, OUT3, OUT4 (motor outputs); IN1-IN4 (logic inputs); ENA, ENB (PWM speed); VCC, GND, +12V (power).
Standard values
Common modules: L298N red board (2 motors, 5V regulator built in), TB6612 breakout (compact), A4988 stepper driver (Pololu red board), DRV8871 (high current).
How to choose
1) Match motor voltage to driver max voltage (allow headroom). 2) Pick driver current ≥ motor stall current × 1.5. 3) For battery toys, use MOSFET-based (TB6612, DRV8833) — no L298N voltage drop. 4) For steppers, use A4988/TMC2209 with current limiting. 5) Add heatsink for >1A continuous. 6) For silent stepper, use TMC2209.
Pinout & package
PCB with screw terminals for motor + power. Male header for logic (IN1-IN4, ENA, ENB, VCC, GND). L298N module has on-board 5V regulator (jumper enables it to power MCU). Stepper drivers (A4988): 16-pin, plug into carrier board with DIR/STEP/EN pins.
Example circuits
- L298N + Arduino controlling 2 DC motors of a robot car (PWM speed, DIR pins)
- TB6612 + ESP32 for a balanced robot (efficient, low voltage drop)
- A4988 + Arduino driving a NEMA17 stepper for a 3D printer axis
- TMC2209 + RAMPS for silent 3D printer movement
- BTS7960 + Arduino controlling a 24V winch motor (high current)
Common failures
L298N overheats at >1.5A without heatsink — brown-out resets MCU. Inductive kickback destroys output transistors if flyback diodes omitted (most modules include them). Wrong wiring (motor supply to logic supply) instantly fries the chip. Exceeding voltage rating pops the IC.
How to test
Power motor supply + logic. Tie ENA HIGH (or apply PWM). Set IN1=HIGH, IN2=LOW → motor spins one way; reverse for opposite. For stepper (A4988): set DIR, pulse STEP → motor moves one step per pulse. Measure motor voltage with no load to confirm driver output.
Substitutes
Discrete MOSFET H-bridge (DIY, complex). Relay + limit switch (crude on/off, no speed control). Servo motor (driver built in). Brushless ESC (for BLDC motors).