A DC motor is the heartbeat of most beginner robots. Two wires in, voltage applied, shaft spins. It is genuinely that simple — and that satisfying.
What is a DC Motor?
A DC (Direct Current) motor converts electrical energy into rotational motion. Feed it positive voltage and it spins one way; reverse the polarity and it spins the other way. That reversibility is what lets your robot go both forwards and backwards.
Most small robots use N20 micro gear motors or TT yellow motors. These come with a built-in gearbox that trades raw speed for torque — so instead of spinning at 10,000 RPM with no grunt, you get a more usable 100–300 RPM that can actually shift a chassis.
Key specs to know:
- Voltage rating — typically 3 V to 12 V for hobby motors
- Stall current — the current drawn when the motor is held still (can be 5–10× the running current)
- RPM — revolutions per minute at rated voltage, with or without the gearbox
- Torque — measured in mN·m or kg·cm; bigger numbers mean more pushing power
The symbol and terminals
A DC motor is delightfully simple — just two terminals. On a schematic it’s an M in a circle. Swap which terminal is positive and the shaft reverses:
+ ┌─────┐ −
───────┤ M ├───────
└─────┘
terminal A terminal B
+ on A, − on B → spins forward
+ on B, − on A → spins backward
How you control it
Two wires alone only give you “full speed, one direction”. The pairing that gives a robot real control puts an H-bridge between the microcontroller and the motor (for direction) and feeds it a PWM signal (for speed):
flowchart LR
GPIO["GPIO pins<br/>(DIR + PWM)"] --> HB["H-bridge<br/>driver"]
BATT["Battery"] --> HB
HB --> MOTOR["DC Motor<br/>(M)"]
HB -->|"direction"| MOTOR
HB -->|"speed (PWM)"| MOTOR
Direction comes from which way the H-bridge sends current; speed comes from how much of the time the PWM signal is switched on. Together they let three GPIO pins drive a motor anywhere from a gentle crawl to flat-out, forwards or backwards.
Why robot builders care
Wheels need DC motors. Tank tracks need DC motors. Robot arms, conveyor belts, spinning sensors — most of them come back to a DC motor somewhere in the chain.
The real skill is control. A motor connected directly to a battery just runs at full speed. To vary the speed you use PWM (Pulse Width Modulation) — switching the motor on and off very fast so it averages out to a lower effective voltage. To reverse direction safely you need an H-bridge, a circuit that lets you flip the current flow without rewiring anything.
That combination — H-bridge for direction, PWM for speed — is what almost every motor driver board gives you in one tidy package.
Get started
The classic entry point is building a two-wheeled robot and writing code to drive it forwards, backwards, and through a turn. The MicroPython Robotics Projects with the Raspberry Pi Pico course walks you through exactly this: controlling motors from a Pico using MicroPython, reading sensors, and combining it all into an autonomous robot.
If you want to start with Arduino instead, the Learn how to program SMARS with Arduino course covers motor control using a motor shield — a board that stacks onto an Arduino and handles all the H-bridge circuitry for you. SMARS itself uses two N20 gear motors and is a brilliant first build.
A quick experiment to try right now: connect a small DC motor to a battery via a switch. Note the direction. Swap the wires. Watch it reverse. That simple moment is the foundation of every wheeled robot you will ever build — the fun is in understanding why it works, and then making it do exactly what you want.
Reacts well with
More Power & Motion
Learn more on KevsRobots
Articles to read
Share this element
This page is awesome? Show some love!Did you find this content useful?
If you found this high quality content useful please consider supporting my work, so I can continue to create more content for you.
I give away all my content for free: Weekly video content on YouTube, 3d Printable designs, Programs and Code, Reviews and Project write-ups, but 98% of visitors don't give back, they simply read/watch, download and go. If everyone who reads or watches my content, who likes it, helps fund it just a little, my future would be more secure for years to come. A price of a cup of coffee is all I ask.
There are a couple of ways you can support my work financially:
If you can't afford to provide any financial support, you can also help me grow my influence by doing the following:
Thank you again for your support and helping me grow my hobby into a business I can sustain.
- Kevin McAleer
Comments