← ALL BLOGS & ARTICLES

/ TECHGEEKS OPEN SAUCE

Motor Drivers 101: TB6612FNG vs L298N vs a Dedicated ESC

Motor Drivers 101: TB6612FNG vs L298N vs a Dedicated ESC

Most builders assume any H-bridge works for any motor, since that's how most tutorials treat it. It isn't true, and this guide breaks down why: how the TB6612FNG and L298N actually differ under the hood, and why a suction impeller needs a completely different kind of controller than your drive motors do.

COMPARISON & USECASE GUIDE

/ METADATA

DATE:

AUTHOR:

Hrithik Khanna

READING:

10 min read

View Related Product

motor drivers comparison and usecases blog thumbnail

Most tutorials treat motor drivers like one generic part you drop into any build. Pick an H-bridge, wire it up, done. That assumption is exactly how you end up with a hot PCB, a whiny impeller, or a bot that feels sluggish on race day even though the code is right.

It's not one motor driver problem. It's two. This guide covers what a motor driver actually does, why the L298N you've probably already soldered once isn't the efficient choice it looks like on paper, why Techgeeks builds every kit around the TB6612FNG instead, and why a suction impeller gets its own dedicated controller rather than a second H-bridge channel.

What a motor driver is actually doing

An Arduino pin can safely source about 40mA. A single N20 gear motor under load pulls several hundred milliamps, and a coreless impeller motor pulls close to 2A. Wire a motor straight to a microcontroller pin and you don't get a spinning motor. You get a dead pin, possibly a dead board.

A motor driver sits between the two. It takes a low-current logic signal from your microcontroller and uses it to switch a much larger current from your battery, through the motor, safely. For a drive motor that needs to go forward, reverse, and brake through corners, that switching network is called an H-bridge: four switches arranged so current can flow through the motor in either direction, depending on which pair is closed.

That's the shared foundation. Where the L298N and TB6612FNG diverge is what those four switches are made of, and that difference matters more than most beginner guides let on. (If heat and current draw are new territory for you, our motor driver heat and current basics post is a good companion read.)

The L298N: everywhere, but not free

The L298N is probably the first motor driver you've ever soldered. It's the default in nearly every Arduino robotics tutorial on YouTube, and for good reason: it's cheap, it's well documented, and it survives a lot of wiring mistakes.

Its switches are built from BJT transistors, and BJTs have a fixed voltage drop of roughly 0.7 to 1V each time they're "on." An H-bridge puts two of them in series per leg, so you lose somewhere between 1.4V and 2V across the driver every single time current flows, regardless of how much current you're pushing.

Here's why that matters on a robot rather than a breadboard demo. The Mark 1 kit runs on a 2S 7.4V LiPo. Lose 1.4 to 2V to the driver, and your N20 motors only ever see 5.4 to 6V of that battery: 20 to 25% of your pack voltage burned off as heat before it reaches the wheels. That's why L298N modules ship with a heatsink, and why sustained practice sessions push them past comfortable to touch. Typical real-world efficiency lands around 40 to 70%, which also means your battery drains faster than the spec sheet suggests.

None of this makes the L298N a bad chip. At higher voltages (12V and up) and higher current ceilings, that fixed voltage drop matters proportionally less, and it stays a reasonable choice for bigger, higher-voltage builds. It's just the wrong tool for a 6 to 12V, weight-conscious competition LFR, which is exactly the category every Techgeeks kit competes in.

The TB6612FNG: why Techgeeks standardized on it

Every Blueprint 01 controller board, and by extension every Mark 1 and Mark 2 kit, drives its N20 motors through a TB6612FNG instead.

The TB6612FNG is also a dual H-bridge, but its switches are MOSFETs, not BJTs. A MOSFET doesn't have a fixed "on" voltage drop. It behaves like a very small resistance instead, and that resistance can be a fraction of an ohm. The practical result: voltage loss across the driver drops to roughly 0.2 to 0.5V instead of 1.4 to 2V, and efficiency climbs to 90%+ instead of 40 to 70%.

On the same 7.4V pack, your drive motors now see nearly the full battery voltage instead of losing a quarter of it to heat. That translates directly into more consistent RPM at a given PWM duty cycle, a driver that runs cool enough to sit bare on the Blueprint 01 PCB with no heatsink, and more runtime per charge during a long practice session. At 1.2A continuous and 3.2A peak per channel, it comfortably covers the 600 to 2000 RPM N20 motors across the Mark 1 and Mark 2 lineup, with headroom to spare.

This is also why swapping an L298N module into a Techgeeks build isn't a neutral choice. It's a step backward in efficiency and thermal margin for a robot that's already tight on both voltage and weight.

Why your suction impeller wants neither one

Here's the part most driver comparisons skip entirely. Both the L298N and the TB6612FNG are H-bridges, and an H-bridge's entire reason for existing is direction reversal. Your drive motors genuinely need that: forward, reverse, differential braking through a corner.

A suction impeller never reverses. From power-on to the finish line, it spins exactly one way, at varying speed. Running a unidirectional load through a bidirectional H-bridge means you're paying (in board space, switching losses, and cost) for four switches when the job only ever uses two of them.

This is the same logic that separates a true brushless ESC (the kind flying a drone) from a brushed motor controller. Worth a quick clarification here, since "ESC" gets used loosely: a drone's brushless ESC electronically commutates three motor phases in sequence, which is a genuinely different and more complex problem. Techgeeks' 8520 coreless impeller motor is a simple brushed DC motor, so it doesn't need three-phase commutation either. It just needs one clean, fast, single-direction PWM switch. That's a narrower job than an H-bridge, and it deserves a narrower, purpose-built circuit, not a second channel borrowed from a bidirectional driver.

The USC: a controller built for exactly one job

That purpose-built circuit is the Unidirectional Speed Controller (USC): a single-channel, MOSFET-based PWM controller engineered specifically for the 8520 coreless impeller motor used across Techgeeks' suction builds.

It runs on 3 to 5V input, handles up to 5A continuous (comfortable headroom over the impeller's roughly 2A draw), and switches at 30kHz or higher, well above the range of audible whine. On the firmware side, it's driven through direct Timer2 register access (D11/OC2A) at 31.25kHz Fast PWM, which skips the latency of analogWrite() for tighter, more predictable duty-cycle control. Recommended duty cycle windows are 0 to 35 out of 255 on a 2S pack and 0 to 25 out of 255 on 3S, for thermally stable, long-session running.

Because it's not carrying two unused switches, it runs cooler than an H-bridge doing the same job, and its PWM output is cleaner. That matters for a component whose entire purpose is generating consistent downforce, not chasing directional control it will never use.

You'll find the USC standalone, or bundled with the motor and housing in the Suction Impeller Setup, and built into the Advanced Suction LFR Chassis on its own isolated power rail, deliberately separated from the drive motor supply so impeller current spikes never dip your steering voltage.

Quick decision framework

Job the motor does

Right kind of driver

Why

Drive motors: forward, reverse, cornering

H-bridge (TB6612FNG)

Needs true bidirectional control

Drive motors on a higher-voltage or higher-current build

H-bridge (L298N, or DRV8874 for high-current coreless)

Voltage drop matters less as supply voltage rises

Suction impeller: one direction, variable speed

Dedicated unidirectional controller (USC)

No wasted switches, cooler running, cleaner PWM

How it plays out across the Techgeeks lineup

The Mark 1 kit (₹4,499) is drive-only. A single TB6612FNG on the Blueprint 01 board handles both N20 motors, with no impeller in the picture.

The Mark 2 kit (₹6,999) runs both driver philosophies side by side: TB6612FNG for the 2000 RPM drive motors, and a separate USC on an isolated rail purely for the impeller. Two different jobs, two different circuits, each doing only what it needs to.

The Spirit takes it further by offering a choice on the drive side: dual DRV8874 for high-current coreless motors, or TB6612FNG for standard N20 motors. The impeller still runs through a USC either way, because that job doesn't change no matter which drive motor you pick.

Conclusion

Not every motor driver is interchangeable the way beginner tutorials make it look. The question that should decide your driver isn't "what's cheap" or "what's in every tutorial." It's "does this motor ever need to reverse?" Drive motors do, and that's what makes the TB6612FNG's MOSFET H-bridge worth the small price jump over an L298N. Impellers don't, and that's exactly why they get a dedicated controller like the USC instead of a second H-bridge channel they'd never fully use.

Next time you're speccing a build: are you working on a drive train that needs to steer, or a suction upgrade that just needs to spin one way, hard? Check out the Blueprint 01 controller board and the USC to see which one your next build actually needs.

Done reading? Return to the field notes index or keep exploring TechGeeks robotics parts.