Motors & Drivers¶
Side-by-side comparison¶
| Driver / motor | Type | Voltage | Current | Control | Best for |
|---|---|---|---|---|---|
| L298N | Dual H-bridge IC | 5–35 V motor, 5 V logic | 2 A / channel, 3 A peak | PWM (EN) + direction (IN1/IN2) | DC motors up to ~2 A, bipolar steppers |
| SG90 Servo | Hobby servo (geared DC) | 4.8–6 V | 550 mA stall | 50 Hz PWM, 1–2 ms pulse | Pan/tilt, RC, fast 180° positioning |
| 28BYJ-48 + ULN2003 | Unipolar geared stepper | 5 V (or 12 V model) | 160 mA / phase | 4-pin step sequencing | Precise low-torque positioning (~300 g·cm) |
Common questions¶
L298N vs L293D — which motor driver?¶
L298N — 2 A per channel vs L293D's 600 mA. L298N is the better default for any serious DC motor. L293D only for tiny gear motors (<200 mA).
Why does my SG90 servo crash the Arduino?¶
Servos can pull 500–600 mA at stall. The Uno's onboard 5 V regulator outputs ~500 mA total. Power the servo from a separate 5 V supply (2 A minimum) and tie the grounds together.
28BYJ-48 vs NEMA 17 stepper?¶
28BYJ-48 = unipolar, 5 V/12 V, ~300 g·cm torque after 64:1 gearbox, very cheap, low-torque hobby use. NEMA 17 = bipolar, 12 V, 40+ N·cm torque, used in 3D printers and CNC. Needs a bipolar driver (A4988 / DRV8825 / TMC2209), not ULN2003.
Why is my L298N motor much slower than expected?¶
The L298N drops 1.8–3 V across each H-bridge. With a 12 V supply your motor sees ~9 V. For higher efficiency at lower voltages use a MOSFET driver (DRV8833, TB6612FNG) instead.
Stepper motor jitters / skips steps?¶
Common fixes: (1) reduce PWM speed below 15 RPM on 28BYJ-48 — it has a low max RPM; (2) increase motor supply current; (3) use Stepper.h proper step sequence; (4) check wire colors match driver pinout.
Last updated: 2026-05-13 · Source on GitHub