Level 4 · Motion · project 8 of 13 · 25 min · ●●●○○
Twin Wheels
Two motors from one button — a Level 9 robot drivetrain, five levels early.
new here? Start with First Light — one battery, one resistor, one LED. It teaches the loop, LED direction, and why the 220 Ω resistor matters.
What you need
- 1× 3×AA battery pack (4.5 V) L1
- 1× Solderless breadboard L1
- 8× Jumper wires L1
- 1× Push button (tactile) press-and-hold to drive the pair — hands-on control L1
- 1× 1 kΩ resistor base resistor — protects the transistor L1
- 1× NPN transistor (2N2222) flat face toward you: legs are E-B-C L3
- 2× DC motor (3 V) two of the same hobby motor. Tape a paper wheel or a bit of foam disk to each shaft
- 2× Diode (1N4001) each motor gets its own flyback diode across it, cathode toward battery +
you'll learn: Circuits are loops · Switches · Series & parallel · Transistor switching · Ohm's law
Circuit map
The circuit you'll build, running on the Workbench right now — shown with the switch closed.
simulating…
If it doesn't work
The boring ways this circuit actually breaks — check these first before you unwire everything.
- Only one motor spins. The quiet motor's leads have popped out of their holes (they're friction-fit — wiggle to seat) or its lane doesn't reach the collector row. Trace the loop from + through the motor to the collector.
- Both motors spin weakly. AA cells sagging under the 290 mA total. Fresh alkalines or NiMH; skip zinc-carbon.
- Neither motor spins even when you press. 2N2222 pin order: flat face toward you, E-B-C left-to-right. Then confirm the base 1 kΩ is between the button and pin B (not in the collector lane).
- One diode gets hot within seconds. That one is wired backwards — banded end must face battery +. Disconnect and flip it.
- A soft click when you release the button. No flyback diode is doing its job. Check both are in, across the motors, banded end toward +.
- Motors spin fine, but a whining sound when running. Normal — the ~6 kHz brush-commutator switching is audible on cheap hobby motors. Not a fault.
- Motors spin the wrong direction. Motors don't care about polarity — swap their two leads to flip spin direction. Do it identically on both if you want them to spin the same way.
What you're building
Two little motors, side by side, both spinning when you hold the button. Stick a paper wheel (or a bit of foam disk) on each shaft and you've built the drivetrain of a wheeled robot — five levels early.
The whole point of this project is that "one transistor drives one motor" scales cleanly to "one transistor drives two motors". Same brain, doubled mouth. And at Level 9, when you build an actual line-following robot, this is exactly the wiring pattern you'll use — one channel per wheel, one flyback diode per motor, one control line per pair.
The pattern: motors in parallel
Two motors sitting side by side — both hanging off the same collector node, each with its own flyback diode — is the electrical opposite of a series chain. Each motor sees its own independent 4.5 V (minus V_CE(sat)) across its own 30 Ω coil, and each pulls its own current. The transistor's collector adds them up.
Compare against putting the motors in series (nose to tail — motor A's minus lead into motor B's plus lead):
- Series (bad idea for equal motors): each motor sees only half the voltage — about 2.15 V after V_CE(sat). That's the very bottom of a small motor's 2–5 V range, so they turn slowly and weakly, and the slightest load stalls them. Torque collapses.
- Parallel (this project): each motor sees the full 4.3 V. Each spins at full speed. Combined current: ~286 mA from the AA pack.
Every real robot puts its motors in parallel for exactly this reason. And real robots give each motor its own flyback diode — the section below explains why.
Do the math
Button pressed:
- Base current: (4.5 − 0.7) ÷ 1 kΩ = 3.8 mA.
- Max collector current at that base drive: β × I_base = 200 × 3.8 = 760 mA. We'll need less than half of that. (That's the textbook β. Real 2N2222s vary, and the datasheet likes a tenth of the collector current on the base for a hard switch. Here it's about 1/75, so a real transistor may sit a touch above the ideal 0.2 V. It still works.)
- Each motor lane: (4.5 − V_CE(sat)) ÷ 30 Ω = (4.5 − 0.2) ÷ 30 = 143 mA per motor.
- Total collector current: 2 × 143 = 286 mA.
- Battery total: ~286 mA motor + ~3.8 mA base = ~290 mA. The Workbench shows a bit less, about 276 mA (137 mA per motor), because a battery's own internal resistance makes its voltage sag under a load this big.
Every ceiling to check:
- 2N2222 collector rating: 600 mA. We're at 286 mA. ✓
- Base saturation drive: 760 mA capable. We ask for 286 mA collector — plenty of headroom, deeply saturated. ✓
- Transistor dissipation: V_CE(sat) × I_C = 0.2 × 0.286 = 57 mW. Warm to the touch after a minute; nowhere near hot.
- AA pack: three fresh alkalines deliver ~500 mA before sagging noticeably. We ask for 290 mA — a hearty draw but well within their comfort zone. Old cells will droop; use fresh.
Button released:
- I_base = 0. Transistor snaps off.
- Both coils' collapsing fields try to push current simultaneously, each starting at its own 143 mA. The moment the collector row climbs ~0.7 V above +, the diodes switch on and give that current a loop back into the coils. Both motors and both diodes sit across the same two rows (+ and the collector), so each diode actually takes about half of the total kick.
- The transistor's collector rises to ~4.5 V (no path to ground) and stays there, safe.
Why each motor gets its own diode
You might think: two motors in parallel share the collector; can they share one diode too?
On this breadboard, electrically, yes. Both motors connect to the same two rows, + and the collector. One diode across those two rows sits across both motors at once. It clamps the collector the same way, and each coil's current loops round through it. Handling the combined ~290 mA pulse is easy for a 1 A 1N4001.
So why two? Because the breadboard is the easy case. On a real robot each motor sits at the end of its own pair of wires, out at a wheel. A diode soldered right on each motor keeps the kick in a tiny loop at the motor, instead of sending it down the wires first. And the moment you drive the motors separately (the Independent triggers challenge), each one has its own transistor and needs its own diode anyway. A 1N4001 costs cents, so giving each motor its own is the habit worth building now.
Rule of thumb: every coil (motor, relay, solenoid) gets its own flyback diode across it.
Build it
Power rails: battery + to a top row, battery − to a bottom row.
Trigger lane: battery + → push button → 1 kΩ → transistor Base.
The transistor: flat face toward you, legs are Emitter (left), Base (middle), Collector (right). E → − rail, B ← the 1 kΩ, C into a fresh row A (the "collector node").
Motor A lane: motor A between the + rail and row A. Diode A across motor A: cathode (banded end) in the + rail row, anode in row A.
Motor B lane: motor B between the + rail (on a different column, but same + rail electrically) and row A. Diode B across motor B: same rule — cathode in the + rail row, anode in row A.
Both motors, both diodes, share the + rail on the top and the collector row on the bottom. Between those two rails, you have two independent parallel lanes.
Press the button. Both motors spin together. Release: both stop together, quietly.
Turning this into an actual wheeled thing
Once both motors spin, tape a small paper disc (or a foam cylinder from a hobby store) to each shaft. Balance the disks so they don't wobble. Then either:
- Stand-alone spinning display: point the shafts up, watch the disks spin. A crude but genuine top.
- Rolling toy: tape or glue the two motors to opposite ends of a cardboard-tube chassis, with the disks acting as wheels and the tube's mouth acting as the axle. Add a paper "tail" at the back so the whole thing doesn't tip over. Press the button — it rolls forward.
This isn't yet a steerable robot — the two motors are wired together, so they always spin at the same speed and same direction. Turning requires driving each motor independently, which is Level 9 territory (with the L293D motor driver chip and two Arduino output pins). But the drivetrain — the "wheels turn when a signal fires them" half — is done, right here at Level 4.
What this opens up
Every wheeled vehicle at Level 9 uses this pattern, twice:
- Right wheel: transistor + motor + flyback diode, controlled by Arduino pin R.
- Left wheel: transistor + motor + flyback diode, controlled by Arduino pin L.
Two of this circuit, side by side, with two independent triggers. That's it. That's the whole physical layer of a robot. Everything else (line sensors, ultrasound, obstacle avoidance) is just deciding when to press R and when to press L.
You already own the physical layer.
🧠 Your challenge
No single right answer. That's the point.
- Series it. Wire the two motors in series instead of parallel — motor A's minus lead into motor B's plus lead, both between the + rail and the collector, no diodes for a moment. What happens? (Each motor sees ~2.15 V, the very bottom of its range. They turn slowly and stall at the lightest touch. Torque collapses. Parallel wins.)
- One shared diode. Try one 1N4001 across BOTH motors (both motors in parallel, one diode covering the whole pair). Does the fan-pair still spin normally when the button is pressed? (Yes.) And does anything sound different when you release? (No. Both motors share the same two rows, so one diode across them clamps both coils, and it handles the ~290 mA pulse easily. One diode per motor matters once the motors sit on long wires or get their own transistors. Cost is pennies.)
- Runaway. Add a third motor + diode in parallel. Predict the total current. Does the transistor still saturate? (3 × 143 = 429 mA. Under the 600 mA ceiling; base drive supports 760 mA. Yes, still saturated. But AAs at 429 mA are stressed — fresh cells only, and expect them to run down faster.)
- Independent triggers. Split into two transistors: one 2N2222 driving motor A, another 2N2222 driving motor B, each with its own 1 kΩ base resistor and its own push button. You've now drawn the schematic for the L9 robot drivetrain (minus the Arduino). Which button drives which wheel? Which combination makes it turn left vs. right?
- Measure the sag. With a multimeter, measure the battery pack's voltage when the button is up (should be ~4.5 V fresh) and when the button is held (with both motors spinning). Fresh alkalines will sag ~0.1 V. Half-dead cells will sag ~0.5 V or more. That sag is why old AAs make sluggish motors — they can't hold voltage under a heavy load.
For grown-ups: safety notes
- Battery-safe throughout. 4.5 V and ~290 mA total won't shock you. The transistor dissipates ~57 mW; warm after a minute, never hot to the touch.
- Give each motor its own flyback diode, cathode toward battery +. With no diode across the motors at all, the transistor sees the coils' kick unprotected — a spike above the 2N2222's ~40 V max V_CEO opens the collector like a fuse. On this board one diode would cover both motors, but one per motor is the habit that keeps working on a real robot. The diodes cost cents; install both.
- Diode polarity matters most. Cathode (banded end) toward battery +. A reversed diode shorts the battery through itself when the transistor turns on. It heats up fast; disconnect and flip.
- Transistor pin order. Flat face toward you, legs left-to-right are Emitter, Base, Collector. Backwards = a hot transistor and stalled motors.
- Fingers, hair, and paper wheels. Each motor spins around 6,000 RPM. Tie hair back, keep loose sleeves clear, and don't put two spinning shafts near each other (a whirl in a cardboard chassis can whip loose paper into a spin).
- AA pack drain: ~290 mA. Fresh alkalines are fine. Old cells sag under this and the motors stall. If you're going to run this in longer sessions, consider NiMH rechargeables — they hold voltage under load better than alkalines and cost less per hour.
- Motor case can warm up under sustained load, especially when the shaft is loaded (paper wheel touching the desk). Nothing near boiling — just warm — but don't hold a stalled motor by its case for minutes.
- Never wire to mains. Every part is 4.5 V-safe.
Checked against
Keep building
You might also like
shares ideas with this one