The Walking Bot: a machine that crosses the table on legs instead of wheels. One motor, at the front, and a linkage that turns going round into stepping forward.
It only does two things — forward and backward. It cannot steer. That is not a shortcoming, it is the whole point: everything the motor gives is spent on the hard part, which is picking the machine up and putting it down again, over and over.
You have plugged a Large Motor into a model before, with the Hexapod. Nobody told you why it had to be that one. Today you find out — and you will be able to feel the answer, because the wrong motor in this build does not go slowly. It stops dead.
In the real world 5 min
Where you have seen it
Almost nothing humans build walks. We build wheels, because wheels are simple and roads are flat. Legs turn up where the ground will not cooperate: rescue robots over rubble, machines that cross sand, and the animals that got there first.
One of Theo Jansen’s Strandbeesten — a walking machine of plastic tubes, driven by a single turning shaft through rows of linked legs, exactly like your model. Photo: Axel Hindemith / Wikimedia Commons (Public domain).
Why it is built that way
A wheel holds the body up the whole time it turns. A leg does not. It has to lift the machine, swing it forward and set it down — so once every step the entire weight is being raised by one motor through one linkage.
That is a job that needs force, not speed. Jansen’s beach beasts are pushed along by wind, which is a very weak power source, so he made the legs long and geared them so that a slow, steady turn becomes a strong step. Slow is not the compromise here. Slow is the design.
What would go wrong without it
Put a fast, weak motor on a legged machine and it does something students find genuinely confusing: it makes a noise and goes nowhere. The motor is turning as hard as it can and the load will not shift.
It looks like a flat battery, or a jammed gear, or a bug. It is none of those. It is the wrong motor.
A motor that whines and does not move is not broken. It has been asked for more force than it has.
The main concept — force, not speed 6 min
The EV3 has two motors. One is fast and one is strong, and you cannot have both.
Large Motor — strong
Medium Motor — fast
Side by side at the same scale. The Large Motor is longer and heavier because there is more gearing inside it — and that gearing is where the strength comes from.
Motor
Turning force
Top speed
Use it for
Large Motor
High
Lower
Driving wheels, walking legs, lifting — anything shifting the weight of the whole robot.
Medium Motor
Lower
High
Arms, gates, jaws, launchers — light things that need to react quickly.
The word for turning force is torque. It is not the same as speed, and it is worth being fussy about the difference: speed is how fast the shaft turns, torque is how hard it can push while turning. Inside the Large Motor is a longer gear train, and gearing down trades speed away to buy torque — exactly the trade you met with the Ferris Wheel and the Gear Shooter, only this time it is built into the part.
when program starts
A run clockwise for 1rotations
and on the Large Motor, only the port changes
B run clockwise for 1rotations
0%medium lifted0%large liftednoneload
Medium: not enough forceLarge: slower, but it lifts
) : clock.step === 1 ? (
With nothing to lift, the Medium Motor is quicker
The same program, the same arm, one on each motor. Nothing to lift yet.No load: the Medium Motor is clearly the quicker of the two.Now hang a heavy weight on both arms and run exactly the same program.The Medium Motor stalls a third of the way up. The Large Motor keeps lifting.Same program, same weight — the motor was the difference.Finished — it will run again in a moment.
at rest
Turning the speed up would not rescue the Medium Motor here — a stalled motor needs more force, which means gearing it down or using the Large Motor.
Choose the motor by the job, not by which is bigger. Heavy and slow is the Large Motor. Light and quick is the Medium Motor.
▶The Large Motor, and copying animalsThe full reference for this motor, and for biomimetics — why so many models in this course are shaped like living things.Show meHide
ComponentMotion4 min
The Large Motor
The Large Motor is the bigger of the two EV3 motors. It turns more slowly than the Medium Motor but pushes far harder, which is why it drives wheels and lifts loads. If a mechanism struggles or stalls with a Medium Motor, this is usually the answer.
Large Motor
Medium Motor
The two motors at the same scale. The Large Motor is visibly bigger and heavier — that extra size is what gives it more turning force and less speed.
Blocks reference
Block
What it does
[B v] run [clockwise v] for (3) [rotations v] :: motors
Turns the motor a measured amount, then stops.
[B v] run [clockwise v] for (2) [seconds v] :: motors
Turns it for a length of time rather than a distance, then stops — however far the shaft actually got.
[B v] set speed to (40) % :: motors
Sets how fast the next movement will be.
[B v] start motor [clockwise v] :: motors
Starts it turning and carries straight on.
Watch them race, then watch them lift
Give both motors the same program and the same arm. With nothing on the arm the Medium Motor wins easily — which is why it is tempting to treat it as simply the better motor. Then the demo hangs a weight on both arms and runs it again.
when program starts
A run clockwise for 1rotations
and on the Large Motor, only the port changes
B run clockwise for 1rotations
0%medium lifted0%large liftednoneload
Medium: not enough forceLarge: slower, but it lifts
) : clock.step === 1 ? (
With nothing to lift, the Medium Motor is quicker
The same program, the same arm, one on each motor. Nothing to lift yet.No load: the Medium Motor is clearly the quicker of the two.Now hang a heavy weight on both arms and run exactly the same program.The Medium Motor stalls a third of the way up. The Large Motor keeps lifting.Same program, same weight — the motor was the difference.Finished — it will run again in a moment.
at rest
Turning the speed up would not rescue the Medium Motor here — a stalled motor needs more force, which means gearing it down or using the Large Motor.
That is the whole difference. The Medium Motor is quicker; the Large Motor is stronger. A motor that cannot produce enough force does not move slowly — it stops altogether and strains, which is the buzzing, going-nowhere failure almost every LEGO builder meets sooner or later.
A stalled Large Motor hangs the program too
Being stronger buys the Large Motor a bigger load, not an infinite one. Every winch runs out of cable and every lift reaches the top of its rails, and when a motor arrives at a limit it stalls: the shaft stops turning and the motor sits there straining.
That is a problem for the program, not just the mechanism. run for (3) rotations does not finish when three rotations’ worth of time has gone by — it finishes when the shaft has actually turned three times. A winch that reaches the top after two and a half will never report three, so the block waits, and every block after it is unreachable. Nothing crashes. The motor keeps pushing and the rest of the program simply never happens.
The third setting in that dropdown is the way out. for () seconds drives the motor for a duration and then stops regardless, so it always finishes and the program always moves on. Drive into a limit slowly, for a comfortably long time, and then call that position zero:
when program starts :: events hat
[B v] set speed to (30) % :: motors
[B v] run [counterclockwise v] for (3) [seconds v] :: motors
[B v] reset degrees counted :: motors
The lift ends up against its own stop, the encoder is zeroed there, and every measured move afterwards starts from a place you know. The rule is the same for both motors: if the movement ends against something solid, run for seconds; if it ends somewhere in the middle, measure it. The Medium Motor module has the animation for it — see The Medium Motor, which is where this bites hardest, because a Medium Motor is usually the one doing the lifting.
Which motor for which job
Large Motor — wheels, winches, anything lifting weight. Strong, slower. Normally ports B and C.
Medium Motor — arms, gates, jaws, pointers. Quick, lighter. Normally ports A and D.
The blocks are identical apart from the port letter, so swapping one motor for the other is a build change, not a programming change.
Why it matters
Real machines match the motor to the load. A lift uses a powerful, slow motor; the button panel beside it uses tiny ones. Choosing the wrong size is the most common reason a LEGO mechanism whines but does not move.
ComponentMechanics5 min
Biomimetic mechanisms
Biomimetics is copying a solution from nature. Not the look of an animal — the mechanism. Wheels are a human invention and a very good one, but nothing in nature has them, and there are places a walking machine goes that a wheeled one cannot.
The idea that has to land first
Nothing in a walking robot walks. There is a motor going round and round at a perfectly steady rate — the same motion that drives a car — and a linkage: a set of bars pinned together whose shape turns that circle into a footstep.
Push down, lift, swing forward, put down. No sensor decides when to do each part, and no block in the program says step. The bars do it, because of how long they are and where they are pinned.
1motor, turning one waydownnear foot½turn between the legs
rotation ina stride outno sensors, no code
One motor, turning steadily — the same motion that drives a wheel. Nothing here speeds up, slows down or reverses.Watch the foot rather than the crank. It is flat and slow along the ground, then lifts and swings quickly over the top.The two legs are half a turn apart, so one foot is always down. That is what stops the body dropping between steps.Finished. A steady circle in, a stride out — and not one part of it was told to walk.
still
The faint circle is the crank pin. The green outline is where the foot goes. They are driven by the same axle and they are not remotely the same shape — that difference is the linkage.
The two paths on that stage are the whole module. The crank pin travels a perfect circle. The foot travels something flat along the bottom and arched over the top — and they are driven by the same axle at the same speed. Everything between them is link lengths.
Why the foot path matters
Flat along the bottom. While the foot is on the ground it must travel in a straight line at a steady rate, or the body bounces and the robot shuffles instead of walking.
Lifted on the return. High enough to clear the ground and whatever is on it. A higher arch climbs better and wastes more effort.
Legs out of phase. With legs half a turn apart there is always a foot down, so the body never drops. Four or six legs in pairs is steadier still — which is why insects keep three feet down at a time and are almost impossible to knock over.
The famous designs are worth looking up by name: Jansen linkages (the strandbeest walkers), Klann linkages, and the four-bar “Chebyshev” walker. All of them are the same trick with different numbers.
Other things worth copying
In nature
As a mechanism
A caterpillar or inchworm
Anchor one end, contract, anchor the other, extend. Slow, and it climbs anything.
A fish tail or a snake
A chain of segments swung out of phase — a travelling wave that pushes backwards.
A bird wing
A four-bar linkage that flaps and feathers at once, from one rotation.
A hand or a claw
Linked fingers driven from a single input, so they close around a shape rather than onto a fixed position — a lever chain that adapts by itself.
Walking versus wheels
Be honest about the trade, because it is the engineering content of the whole topic. Wheels are far more efficient, far simpler and far faster on anything flat. Legs are worth their complexity when the ground is not flat: steps, rubble, soft sand, gaps. A walking machine chooses where to put its feet; a wheel has to roll over everything in between.
Building one out of LEGO
Link lengths are everything, and a stud out is a broken gait. Build one leg, get its foot path right, and only then copy it.
Legs need to be built in mirrored pairs on a common axle, half a turn apart. Getting that phase wrong is the usual reason a walker rocks in place.
Walking is hard work — expect to gear down heavily, and expect it to be slow.
A tall walker tips easily. Keep the Brick low and the stance wide — see Centre of gravity.
Why it matters
Robots that copy animals are how machines reach places wheels cannot: search and rescue in collapsed buildings, inspection inside pipes, planetary rovers over loose ground. Studying the mechanism instead of the appearance is what turns an interesting animal into a working machine.
Say this back before moving on: “Torque is how hard a motor can push. The Large Motor has more of it and less speed.”
What’s in this build 4 min
Two electronic parts again — and this time you have just learned enough to say why it is this motor and not the other one.
Part
What it is doing here
EV3 Intelligent Brick
Runs the program — and is most of what the legs have to carry. This machine is mainly walking its own battery around.
Large Motor
Drives the front legs through a linkage. Lifting the whole model once per step is the heaviest job any model has given a motor so far.
The parts that do the walking have no cables
Look at the back of your model. The rear legs are fixed and joined to nothing, and they end in a small wheel. Only the front legs are driven.
Turn the motor drum slowly by hand and watch one front leg. Does it go round in a circle, or does it rise, reach forward, press down and pull back?
Keep turning and count. How many turns of the drum make one complete step?
Now watch the back. The rear legs never lift — they slide along on their wheel while the front legs do all the work.
That linkage is the clever part of this model, and it contains no electronics at all. One turning shaft, several bars of different lengths, and the circle comes out the far end as a step.
Ports — and the rule 4 min
Sensors go in ports 1, 2, 3, 4. Motors go in ports A, B, C, D. They are not interchangeable, and nothing will tell you politely if you swap them.
Part
Port
Why this one
Large Motor (drives the front legs)
A
One motor doing a job of its own takes A. Note this is not B or C — those are the pair used for a driving base with two wheels, and this machine has neither.
Sensors
none
The Walking Bot cannot see, feel or steer. It walks where it is pointed.
Check your own build now:
Motor cable in port A — a letter, not a number.
Turn the drum a full circle by hand. It should be stiff but smooth. If it locks solid, a leg is fouling the frame — fix that before powering up, or the motor will try to force it.
Route the cable over the top of the model. A cable trailing between the legs will trip it, and you will spend the lesson blaming the program.
Stand the model on a flat table, not carpet. Legs need grip; carpet gives them too much.
Connect the Brick 4 min
Two routes, and either is fine. USB is the reliable one and the one to fall back on when a room’s Bluetooth is busy; Bluetooth leaves the robot free to move, which some models need.
▶How to connect the BrickUSB and Bluetooth, step by step, with a photograph of every screen. Open it if you have not done this before — or if pairing is not working.Show meHide
USB — the reliable one
Switch the Brick on with the dark grey centre button.
Cable into the Brick’s PC port — the small square socket beside the numbered ports, not one of the numbered ones.
Other end into the computer.
Bluetooth — name it first
Do these in order. Naming the Brick after you go looking for it in the list is how groups end up driving each other’s robots.
Name your Brick. On the Brick: Settings (the spanner) → Brick Name. Type something nobody else will pick, then press the tick. Every Brick is called EV3 until somebody changes it.
Turn Bluetooth on. Settings → Bluetooth. Tick Bluetooth and Visibility. Leave iPhone/iPad/iPod unticked.
Connect from EV3 Classroom. Click the Brick icon at the top of the programming area, find your Brick by name, and click Connect.
Say yes on the Brick. It asks “Connect?” with the computer’s name — choose the tick, then accept the passkey, which is already 1234.
Where to read it. The name sits in the bar across the very top of the screen, on every screen — so you can check which Brick you are holding at any moment without going into a menu. This one is EV3VE. A Brick nobody has renamed says EV3.Step 3, and the reason step 1 exists. Three Bricks in range — read the name before you click Connect. Pairing with the wrong one is not an error: it works perfectly, on somebody else’s robot.
Step 2.Bluetooth switches the radio on; Visibility is what lets the computer find you. With Visibility off your Brick works perfectly and simply never appears in the list.Step 4. Look at the Brick. It asks whether to accept and names the computer. Choose the tick.Then the passkey, already 1234. Press the tick again and you are connected.
The two failures, every class, every time. The Brick has gone to sleep while you were building — press the centre button to wake it. Or you have paired with the group at the next table, which is why the name matters.
The long version, including Port View and how to read the port tiles, is in the Brick & Bluetooth guide.
Bluetooth is worth the trouble today. This machine walks away from you, and a USB cable becomes a leash that drags it off course after about twenty centimetres. If you must use USB, leave plenty of slack and re-run the test when a walk looks crooked.
Confirm the connection 2 min
Check the Brick icon: connected, or not.
Check the port tiles. One motor on A, nothing anywhere else.
Read what kind of motor the tile says it is. This is the lesson’s own check: the software can tell a Large Motor from a Medium one, and today you want it to say Large.
Turn the drum by hand and watch degrees counted move.
If the tile says Medium Motor, you have the wrong part in your hand. Swap it now — no amount of programming will fix it later.
Make it move 10 min
Five blocks: walk out, pause, walk back. Rotations, not degrees — this movement goes round and round rather than stopping somewhere, so rotations is the natural unit.
when program starts :: events hat
[A v] set speed to (40) % :: motors
[A v] run [clockwise v] for (6) [rotations v] :: motors
wait (1) seconds
[A v] run [counterclockwise v] for (6) [rotations v] :: motors
Six turns of the drum forward, a pause so you can see where it got to, then six turns back.
Walk it in the order the Brick runs it:
set speed to 40 % — deliberately low. A legged machine at full speed skitters instead of stepping.
run clockwise for 6 rotations — six turns of the motor drum, which is several steps. The block waits here until the walking is finished.
wait 1 second — nothing moves. It is there so you can see clearly where the outward walk ended.
run counterclockwise for 6 rotations — the same six turns the other way, so it should arrive back near where it set off.
What success looks like: a slow, deliberate walk in a roughly straight line, the body rocking a little with each step, and a return trip that ends up near the start. “Near” is honest — legs slip, and a walking machine is never as repeatable as a wheeled one.
If it buzzes but does not walk, do not turn the speed up. That makes it worse. Lift the model — do the legs move freely in the air? If they do, the linkage is fine and the problem is load: check nothing is catching, and check the tile really does say Large Motor.
Change it and test 8 min
One change at a time, and predict before each run. Mark the start position with a piece of tape so you can measure how far it actually gets.
Set the speed to 15 %. Predict whether six rotations still carries it the same distance. It should — the distance comes from the rotations, and the speed only decides how long it takes.
Now 100 %. Predict again, then measure. Most groups find it goes less far, because the feet start slipping instead of gripping.
Change both rotation numbers to 3. Half the walk, out and back. Does it still return to the tape?
Put a load on it — a spare Brick, a pencil case, a book. Run the first program again at 40 %. Does it still walk?
Keep adding weight until it stops walking. That point is your motor’s limit, and you found it by experiment rather than being told.
Step 2 is the surprise. Faster is not further. Somewhere between 40 % and 100 % there is a speed where the feet stop gripping, and past that everything extra is wasted on slip. Real walking robots run into exactly the same wall.
Build it 15 min
Build the model before you read any further. Everything after this is about making it do something, and none of it will make much sense with nothing on the table in front of you.
Use the viewer's own controls to zoom and turn pages. Fullscreen makes it big enough to build from.
Check the finished build against the picture before you switch anything on. A motor mounted the wrong way round is far easier to spot now than it is to debug later, when it looks like a program fault.
Challenges & mission 27 min
Work through the challenges in order — each is harder than the last. The mission comes after all three, and it is meant to make you plan before you build.
Challenge 1
Walk to a mark and stop there. Put a piece of tape on the table one metre from the start line and find the number of rotations that lands your bot on it. You may run as many times as you like to find the number, but the last three runs must all reach the tape without a change in between.
Challenge 2
Out and back to the same place. Your bot must walk away, pause, and return so that it finishes on the start line rather than somewhere near it. Legs slip, so this is harder than it looks — choose your speed from evidence rather than habit, and say which speed you chose and why.
Challenge 3
Find your motor's limit and prove it. Load the bot with more and more weight until it stops walking, testing at three different speeds. Record what load stopped it at each speed. Then answer, with your numbers as evidence: does a slower speed let it carry more, or less?
Mission
Make the bot earn its keep: a delivery walk.
Your Walking Bot must carry a load of at least the weight of a spare Brick from a start line to a target you set at least a metre away, put nothing down but arrive still walking, and then return under its own program without being repositioned.
Plan on paper before you build. A loaded machine does not behave like an empty one — it walks shorter steps and slips more — so work out how you will find the right number of rotations for the loaded trip rather than reusing the empty one.
Two questions when you demonstrate it. Why is a Large Motor the right choice here, in your own words and with something you measured to back it up? And what happened to your distance per rotation when you added the load, and why?