For a standard 12V DIY robotics, actuator, or drivetrain dc electric motor project requiring high starting torque and simple speed control, a brushed DC gearmotor paired with a dual H-bridge MOSFET driver like the TB6612FNG is the definitive default choice. While brushless and stepper motors dominate high-precision CNC applications, brushed DC remains the undisputed king of high-torque, low-complexity bench builds. This guide strips away the abstract theory and gives you the exact math, wiring pinouts, and failure diagnostics needed to spec your motor and driver without burning up your silicon.

The Load Profile: Sizing Your DC Electric Motor Project

The most common mistake in motor selection is sizing for continuous running current while ignoring stall torque. Motors do not fail when they are spinning at no-load; they fail when they are starting, stalling, or climbing. The golden rule of thumb for brushed DC motors is the 50% Stall Torque Rule: your maximum continuous operating torque should never exceed 50% of the motor’s rated stall torque. This keeps the windings within their thermal limits and prevents the commutator from arcing excessively.

Worked Load Example: 10kg Tank-Tread Rover
  • Mass: 10 kg (98.1 N weight)
  • Drivetrain: 2 driven wheels, 60mm diameter (0.03m radius)
  • Target Acceleration + Friction: Assume 15N total tractive effort required at the wheels to overcome rolling resistance and achieve 1 m/s² acceleration.
  • Total Torque Required: Force × Radius = 15N × 0.03m = 0.45 Nm
  • Per-Motor Continuous Torque: 0.45 Nm / 2 motors = 0.225 Nm
  • Applying the 50% Rule: Target a motor with a stall torque of at least 0.45 Nm per side.

If you select a motor with a 0.25 Nm stall torque, it will run fine on a flat bench but will overheat and melt its internal nylon gears the moment it hits a carpet transition or a 5-degree incline.

Motor Topology Comparison

Before locking in a brushed DC motor, verify that your load profile doesn't actually demand a different topology. Note: Do not confuse steppers (open-loop position holding via magnetic detents) with hobby servos (closed-loop PWM positional control via internal potentiometers); they demand entirely different control architectures and are not interchangeable.

DC Motor Topology Matrix for DIY Projects
Motor Type Torque Curve Control Needs Approx. Cost (2026) Best Application
Brushed DC (Gear) Max torque at 0 RPM (stall), drops linearly with speed Simple H-bridge, PWM for speed, H-bridge polarity for direction $12 - $35 Rovers, winches, linear actuators, conveyors
Brushless DC (BLDC) High torque at low RPM, highly efficient at high RPM 3-phase ESC, Hall sensors or sensorless back-EMF zero-crossing $40 - $90 Drones, high-speed spindles, RC cars
Stepper (NEMA 17/23) Max torque at 0 RPM, drops off sharply above 300 RPM Step/Dir pulses, microstepping driver (e.g., TMC2209) $15 - $45 3D printers, CNC routers, camera sliders
Coreless DC Very low inertia, fast response, low absolute torque Standard H-bridge, requires high PWM frequency (>20kHz) $20 - $60 Robotics joints, prosthetics, precision gimbals

Wiring and Terminal Identification for Brushed DC

For our default brushed DC gearmotor, you need an H-bridge driver. The legacy L298N bipolar transistor driver is obsolete in 2026; it drops up to 3V across its junctions and wastes power as heat. The modern standard is a MOSFET-based driver like the Toshiba TB6612FNG or Texas Instruments DRV8871. For dual motor control, the TB6612FNG breakout is the bench standard.

Here is the exact terminal identification for wiring a TB6612FNG breakout to a 12V brushed DC gearmotor and an ESP32 or Arduino microcontroller:

  • VM (Motor Voltage): Connect to your main battery pack (e.g., 3S LiPo at 11.1V or 12V lead-acid). This powers the motor.
  • VCC (Logic Voltage): Connect to your microcontroller's 3.3V or 5V output. This powers the internal logic gates.
  • GND: Must be tied to BOTH the battery ground and the microcontroller ground. Failure to share a common ground will result in erratic PWM behavior and potential silicon death.
  • STBY (Standby): Pull HIGH to VCC to enable the driver. Pull LOW to put the chip in low-power sleep mode.
  • PWMA / PWMB: Connect to microcontroller hardware PWM pins. Frequency should be set between 1kHz and 5kHz to avoid audible whine while keeping switching losses low.
  • AIN1, AIN2 (Motor A Logic): Digital pins. HIGH/LOW = Forward; LOW/HIGH = Reverse; LOW/LOW = Coast; HIGH/HIGH = Brake.
  • AO1, AO2 (Motor A Outputs): Connect directly to the two terminals of your DC motor. Polarity doesn't matter; swapping them just reverses the logical direction.
Bench Note on Flyback Diodes: DC motors are massive inductors. When you turn off the MOSFETs, the collapsing magnetic field generates a high-voltage reverse spike (back-EMF). The TB6612FNG has internal flyback diodes to safely route this spike back to VM. If you are building a custom driver on a perfboard using raw discrete MOSFETs (like the IRFZ44N), you must wire external Schottky diodes (e.g., 1N5819) across the motor terminals, or the inductive kickback will punch through the MOSFET drain-source junction and destroy your circuit.

Matching the Driver: Controllers and Failure Signatures

Selecting the driver requires matching the continuous current rating to your motor's operating load, and the peak current rating to the motor's stall current. If you undersize the driver, you will encounter specific failure signatures that tell you exactly what went wrong.

Diagnostic Failure Signatures

  • The 'Hum and Click' (Stall Protection): The motor emits a ticking sound and refuses to turn. Cause: The mechanical load exceeds the motor's physical stall torque, or the driver's overcurrent protection (OCP) is tripping and resetting. Fix: Increase the gear reduction ratio or upgrade to a higher-torque motor. Do not simply increase the driver current limit.
  • Silicon Overheat (Thermal Shutdown): The driver IC becomes too hot to touch (>85°C) and shuts down intermittently, even though the motor is spinning. Cause: The continuous RMS current exceeds the driver's thermal dissipation capacity without a heatsink or copper pour. Fix: Calculate your I²R losses. If running 3A continuous on a TB6612FNG (rated 1.2A continuous), switch to a higher-current driver like the Texas Instruments DRV8701 or add active cooling.
  • Erratic Microcontroller Resets (Brownout): The ESP32 or Arduino reboots the moment the motor starts. Cause: The motor's inrush (stall) current is dragging the shared battery voltage below the microcontroller's brownout threshold (usually ~2.7V for ESP32). Fix: Separate the logic and motor power supplies, or add a large bulk capacitor (e.g., 2200µF 25V) across the VM and GND terminals at the driver to supply instantaneous inrush current.

The Decision Tree: Picking Your Exact Motor and Driver

Use this decision path to terminate your component selection. Stop at the first row that matches your project requirements.

Motor and Driver Decision Matrix
Project Load Profile Required Topology Required Driver Concrete Part Pick
High starting torque, simple speed control, 12V-24V, <5A continuous (Rovers, winches) Brushed DC Gearmotor Dual MOSFET H-Bridge Motor: Pololu 30:1 Metal Gearmotor 25Dx52L 12V
Driver: SparkFun TB6612FNG Breakout
Precise open-loop positioning, low speed, high holding torque (CNC, 3D Printers) Bipolar Stepper (NEMA 17) Step/Dir Chopper Driver Motor: LDO-42STH47-1684MAC
Driver: BigTreeTech TMC2209 V1.2
High RPM, high efficiency, lightweight, 3S-6S LiPo (Drones, RC boats) Brushless DC (Outrunner) 3-Phase Sensorless ESC Motor: T-Motor MN3110 KV470
Driver: Hobbywing Skywalker 40A ESC
Ultra-low inertia, fast transient response, sub-1A current (Gimbals, prosthetics) Coreless DC Motor High-Freq MOSFET H-Bridge Motor: Faulhaber 1524T012SR
Driver: Pololu DRV8835 Dual

The Hard Default Pick for General DC Electric Motor Projects

If you are building a general-purpose 12V robotics or actuation project and don't need sub-millimeter positional accuracy, stop researching and order this combination:

  • Motor: Pololu 30:1 Metal Gearmotor 25Dx52L mm 12V (Part #4752). It delivers 2.2 Nm of stall torque, weighs only 95g, and features a robust metal gearbox that won't strip under shock loads. (~$22)
  • Driver: SparkFun Motor Driver - Dual TB6612FNG (1A). While rated for 1.2A continuous, its 3.2A peak handles the Pololu's 1.6A stall current perfectly for short bursts, and the MOSFET Rds(on) is low enough that it won't require a heatsink at typical 50% duty cycles. (~$8)

This pairing gives you reliable, reversible, PWM-speed-controlled motion with built-in flyback protection, eliminating the three most common points of failure in beginner and intermediate motor builds.