Driver IC / Module
L298N Motor Driver Module
Dual H-bridge motor driver breakout — drives 2 DC motors (or 1 stepper) from digital + PWM pins. Expect ~2V lost per channel under load.
Generic module (driver IC by STMicroelectronics)
Overview
The L298N breakout is the motor driver every beginner's robot car kit ships with: two independent H-bridges behind screw terminals, controlled by IN1-IN4 (direction) and ENA/ENB (PWM speed/enable), with room for two DC motors or one 4-wire bipolar stepper. Under the hood the L298 IC is a bipolar (BJT) design, not a MOSFET one, and that choice is the entire story of this part's biggest gotcha: each output transistor pair has a real saturation voltage, and current has to pass through TWO of them (high-side plus low-side) to reach the motor. At 1A the datasheet's combined VCE drop is about 1.8V per channel — meaning a motor nominally rated for 12V, driven from a 12V supply through this module, is actually only seeing roughly 10.2V. At 2A that drop grows to 3.2-4.9V, eating a much bigger slice of the supply. People size a motor's voltage for the supply rail and then wonder why it runs slower and the module runs hot — the missing piece is almost always this per-channel drop, which scales with current, not a fixed number. The module usually includes an onboard 5V regulator (selected by a jumper) that can supply the L298N's own logic and small 5V loads FROM the motor supply, but only up to a modest current and only when Vs is comfortably above 7V — remove the jumper and power logic separately if you're running near the module's lower motor-voltage limit.
Wiring tip: IN1/IN2 set direction, ENA sets speed (PWM) — budget ~2V lost per channel at real current
Pins & wiring
Logical two-sided map — confirm the package or board drawing before wiring.
All pins
Hover · click to selectSelected pin
VS
- Direction
- Power
Motor supply rail — NOT the logic supply. Silkscreen often (misleadingly) labels this '+12V' even though it accepts the module's full motor-voltage range.
Full pin table
| Pin | Name | Role | Direction | Note |
|---|---|---|---|---|
| +12V | Power | Power | Motor supply rail — NOT the logic supply. Silkscreen often (misleadingly) labels this '+12V' even though it accepts the module's full motor-voltage range. | |
| GND | Ground | Passive | Common ground for motor supply, logic supply and the microcontroller — all three must share this net. | |
| +5V | Power | Bidirectional | 5V logic rail. With the onboard-regulator jumper fitted, this is an OUTPUT (module makes its own 5V from VS) usable to power small 5V logic; with the jumper removed, this becomes an INPUT you must feed externally — check your module's jumper before assuming which direction current flows. | |
| IN1 | GPIO | In | — | |
| IN2 | GPIO | In | — | |
| ENA | PWM | In | PWM speed/enable for channel A (OUT1/OUT2). On some modules this pin is jumpered permanently HIGH instead of broken out — cut the jumper to get PWM speed control. | |
| IN3 | GPIO | In | — | |
| IN4 | GPIO | In | — | |
| ENB | PWM | In | PWM speed/enable for channel B (OUT3/OUT4). Same jumper caveat as ENA. | |
| OUT1 | Power | Out | Motor A terminal 1. Connects to a motor, not directly to a board pin. | |
| OUT2 | Power | Out | Motor A terminal 2. | |
| OUT3 | Power | Out | Motor B terminal 1. | |
| OUT4 | Power | Out | Motor B terminal 2. |
Wiring examples
One DC motor, direction + PWM speed
arduino-uno pinout →IN1/IN2 pick direction (one HIGH, one LOW; both same = brake/coast depending on state), ENA's PWM duty cycle sets speed.
| L298N Motor Driver Module pin | Connects to | Note |
|---|---|---|
| IN1 | D8 | — |
| IN2 | D9 | — |
| ENA | D10 | Only if your module's ENA jumper has been removed — otherwise ENA is already tied HIGH internally and speed is fixed at 100%. |
| GND | GND | — |
You also need
- Optional100 µF capacitor between VS and GND — A brushed motor's commutation kicks noise and brief voltage spikes back onto the supply rail. Most L298N modules include onboard flyback diodes for the switching itself, but a bulk capacitor across VS/GND close to the module absorbs supply-rail noise the onboard clamp doesn't target.
- Budget for the per-channel voltage drop: at 1A that's roughly 1.8V lost between VS and what the motor actually sees, growing to 3.2-4.9V at 2A. A '12V' motor on a 12V supply through this module is not actually getting 12V.
- Logic (Arduino) ground, motor supply ground and the module's GND must all be the same net — a floating or separate ground here is a common source of erratic direction/speed behavior.
- Confirm the 5V-regulator jumper's state before assuming which way current flows on the 5V pin — with it fitted, do not also feed 5V into that pin from the Arduino, or you'll have two sources fighting over one rail.
Specifications
Electrical
Performance
- Microstepping
- N/A
Interface
- Control Interface
- digital, pwm
- Current Sensing
- Varies by vendor
Physical
- Package
- Module
- Mounting
- module
Footprint
No independently verified physical footprint is on file for this part yet.
Alternatives
Similar parts
Does the same job with a different part. Expect wiring and library changes — a starting point, not a guarantee.
Building a lower-loss H-bridge from discrete logic-level MOSFETs (4× IRLZ44N) trades this module's ready-made convenience for real efficiency gains — MOSFETs have on-resistance rather than a fixed saturation-voltage drop, so losses scale down at lower current instead of staying near a fixed volt-and-a-half.
Compare with L298N Motor Driver Module- Output stage: bipolar H-bridge (~1.8V drop/channel at 1A) → discrete MOSFET H-bridge (Rds(on)-limited, far lower drop at the same current) — A purpose-built MOSFET dual H-bridge IC — the TB6612FNG is the commonly-reached-for one — gets you this same efficiency benefit in a single off-the-shelf module instead of 4 discrete MOSFETs and hand-built gate drive/flyback protection; it isn't in this catalogue yet, but it's the standard 'L298N runs hot, what do I switch to' answer, typically dropping only ~0.2-0.5V per channel versus the L298N's ~1.8-3V+.
Documents
Datasheets
- L298N Dual Full-Bridge DriverSTMicroelectronics
Frequently asked questions
What voltage does the L298N Motor Driver Module run at?
The L298N Motor Driver Module runs at 4.5–7V, per the spec sheet below. Always double-check against the specific board you have — some breakouts add an onboard regulator that changes the usable input range.
How many pins does the L298N Motor Driver Module have?
The L298N Motor Driver Module has 13 pins, communicating over Digital, PWM. See the full pinout table in Pins & wiring for each pin's role.
Can I simulate the L298N Motor Driver Module before ordering hardware?
Not yet — the L298N Motor Driver Module does not have a live simulation model in Banana Board today, so validate the wiring here and test on real hardware.
Where is the L298N Motor Driver Module datasheet?
Linked in the Documents section on this page, and cited on every spec that came from it.
Related references
Build it, do not just look it up
Describe your circuit in one sentence and Banana Board wires it to these exact pins, validates it, and lays out a fab-ready PCB.