L298N vs TB6612FNG: which motor driver for your robot?

Voltage drop, honest current ratings, PWM behaviour and pin count compared, with a decision table for choosing between the two cheap motor drivers.

Reference
RE-132
Published
Read
8 min

About the author · Sources, testing and AI policy

L298N and TB6612FNG motor driver modules side by side on a bench

Buy the TB6612FNG for a 6 to 12 V hobby robot on a 3.3 V or 5 V board, and buy the L298N when you need to switch 12 V at 2 A and can live with a heatsink. The L298N loses 1.4 to 2 V inside the chip and turns that loss into heat. The TB6612FNG loses a few tenths of a volt and runs cool, but its honest continuous rating is 1.2 A per channel, not the peak number on the listing.

Voltage drop is the whole argument

The L298N is a bipolar bridge. Every amp you push through it crosses two output transistors, and each one holds back some voltage. ST’s datasheet puts the total saturation drop at roughly 1.8 V at 2 A, and a hobby build usually measures 1.4 to 2 V depending on current and temperature. On a 6 V motor that is a quarter of the supply gone before the motor sees anything.

The TB6612FNG uses MOSFET outputs with an on-resistance of a few tenths of an ohm, so the drop at 1 A is roughly 0.4 to 0.6 V. Less drop means more of the pack reaches the motor, which you notice as more speed and more push at the same PWM value. It also means less heat: at 2 A the L298N is dissipating about 3.6 W, while the TB6612FNG is dissipating a fraction of that.

L298N moduleTB6612FNG module
Motor supply5–35 V on the terminal; needs about 7 V or more if the onboard regulator is in use2.5–13.5 V
Logic supply5 V, from the onboard regulator or fed in2.7–5.5 V, so 3.3 V boards work directly
Continuous currentAbout 2 A per channel, with the heatsink fitted1.2 A per channel
Peak currentAbout 3 A short bursts, as listed by module sellers3.2 A, a single short pulse per the datasheet
Voltage drop1.4–2 V at hobby currentsRoughly 0.4–0.6 V at 1 A
PWMWorks at a few kHz; switching losses climb with frequencyUp to 100 kHz
Control pins67, including the standby pin
Planning price₹130–250₹180–400
Figures from the two datasheets plus module listings; confirm against the board you receive.

Current ratings, read honestly

The L298 chip is rated at 2 A per channel DC with a total of 4 A, and the module adds an aluminium heatsink for a reason. What limits a real module is the sum of the chip, the PCB traces and the screw terminals: a clone with thin copper will run hotter than the chip alone suggests. Two amps continuous is achievable, but the heatsink is not decoration and the terminals need to be tight.

The TB6612FNG’s 1.2 A per channel is a hard continuous number, and the 3.2 A figure is a single short pulse. That matters when you size it against real motors. A pair of TT motors driving a small chassis draws 300 to 800 mA together, which is comfortable, but the same pair stalled can pull 2 to 3 A, which is 1 to 1.5 A per channel. The TB6612FNG survives that briefly and complains if you hold it there. Comparing the “3.2 A” and “3 A” peak numbers side by side tells you almost nothing about which board will survive a hill start.

How each one behaves under PWM

The L298N’s slow switching is why people run it at 1 to 5 kHz, which is squarely in the range where small geared motors whine. Push it to 20 kHz to get above hearing and the switching losses start adding to the conduction heat. Because the drop is fixed, low duty cycles also lose a bigger share of what is left: on a 7.4 V pack with 1.8 V of drop, a 25% duty command leaves the motor about 0 V of average, so the useful speed range starts well above zero.

The TB6612FNG switches fast enough that you can run PWM at 20 kHz and hear nothing, and its lower drop means the bottom of the duty range is usable. On a 3.3 V board the difference is bigger still: the TB6612FNG accepts 3.3 V logic directly, while the L298N expects 5 V levels and may not register a 3.3 V high reliably. That is the usual reason an ESP32 build ends up with a TB6612FNG.

Pins, standby and the code

The L298N needs six control pins: ENA, IN1, IN2, IN3, IN4 and ENB, with the two enable pins taking PWM. The TB6612FNG needs seven: PWMA, AIN1, AIN2, PWMB, BIN1, BIN2 and STBY. The extra pin is a standby line, and forgetting to drive it high is the most common “my motor does not turn” report on this board.

// TB6612FNG on an Arduino Uno. Channel A shown; channel B mirrors it.
const uint8_t PWMA = 5, AIN1 = 6, AIN2 = 7, STBY = 8;

void setup() {
  pinMode(PWMA, OUTPUT); pinMode(AIN1, OUTPUT);
  pinMode(AIN2, OUTPUT); pinMode(STBY, OUTPUT);
  digitalWrite(STBY, HIGH);        // outputs stay off until this is HIGH
}

void setA(int speed) {             // -255 to 255
  speed = constrain(speed, -255, 255);
  digitalWrite(AIN1, speed >= 0);
  digitalWrite(AIN2, speed < 0);
  analogWrite(PWMA, abs(speed));
}

The L298N equivalent is shorter but has no standby: tie ENA and ENB high if you do not need speed control, or drive them with PWM if you do. Leave them floating and the outputs stay disabled, which looks exactly like a dead board.

Wiring differences that catch people out

  • The L298N jumper. With the jumper fitted, the onboard regulator makes 5 V for the logic from the motor supply, which needs about 7 V or more. Feed it 6 V and the logic rail sags. With the jumper removed you must supply 5 V to the logic terminal yourself.
  • The L298N 5 V output. It can run a light logic load, but it is a small regulator sharing a heatsink with the bridge. Powering an Arduino and a servo from it is how people discover thermal shutdown.
  • The TB6612FNG has two supplies. VM is the motor voltage and VCC is logic. Wire VCC to the same logic level as your board, and never feed 5 V into a 3.3 V board’s pin header.
  • Ground. Both boards need their ground joined to the microcontroller ground. A driver with no shared ground behaves randomly rather than not at all.
  • Voltage ceiling. The TB6612FNG tops out at 13.5 V, so a 3S Li-ion pack at 12.6 V is already at the edge of the range, and a 4S pack or a 24 V system is out of the question.

This build sheet is reviewed against datasheets and vendor listings; test your own robot before relying on it.

Which one should you buy?

Your situationBuyWhy
TT motors, 2S pack, Uno or NanoTB6612FNGLow drop keeps motor speed usable and the board stays cool
ESP32, Raspberry Pi Pico or any 3.3 V boardTB6612FNG3.3 V logic works without level shifting
12 V geared motors, 2 A continuousL298NVoltage headroom, but plan the heatsink and airflow
One 4-wire stepperL298N or a dedicated stepper driverTwo bridges drive the coils; a current-controlled driver behaves better
Tight budget or a college lab that stocks one boardL298NCheaper, tolerant, and every tutorial assumes it
Small robot where wiring space is tightTB6612FNGMuch smaller board, header pins instead of screw terminals
Match the driver to the motor’s stall current, not to its free-running current.

Price bands are close enough that cost should rarely decide it: ₹130–250 for an L298N module and ₹180–400 for a TB6612FNG. If you are still choosing parts for a first chassis, the ₹2,000 build plans show where the money actually goes, and the project cost calculator turns a parts list into a total with shipping. The L298N guide covers the wiring in more detail if you already own one.

Common questions

Can I run a TB6612FNG on a 12 V pack?

Yes, up to 13.5 V on the motor supply, which a 3S Li-ion pack reaches at 12.6 V when fully charged. That leaves very little margin for spikes from a brushed motor, so add a bulk capacitor at the driver and keep the motor leads short. Above 13.5 V, use a driver rated for the voltage.

Why does my L298N get hot with small motors?

Because it drops 1.4 to 2 V and turns that into heat at whatever current flows. Two motors at 1 A each is roughly 3 W inside a chip with a small heatsink. Fit the heatsink, keep the terminals tight, run PWM below about 10 kHz, and check that the motors are not stalled against a wall while you debug.

Do I need the enable pins if I am using IN1 and IN2?

On the L298N, yes: the enable pins gate the bridge, so tie them high for on-off control or drive them with PWM for speed. On the TB6612FNG the equivalent is the STBY pin, which must be held high, and speed comes from PWMA and PWMB.

Last reviewed: October 2026. Ratings are quoted from the manufacturer datasheets; clone modules may differ from the reference design.

Pick the driver after the motor, not before: the motor sizing walkthrough shows how stall and continuous current decide which driver survives.

Whichever driver you pick, the PCB layout around it decides whether it survives stall current.

Sources and further reading

Documents used to check the numbers on this page:

Newer builds and guides

Pass it onWhatsAppLinkedIn

Keep reading

Continue learning

The Build Note

One short email when something is worth your bench time.

A new build sheet, a part price that moved, or a mistake worth avoiding. No daily drip, no recycled news.

One short email when a build or a price is worth your time. Unsubscribe in one click.