Base Mission
7 points Live judgedA robot is Botguy.
Introductory · EV3 Coding Project 7
A motor that goes to a place instead of just going. Seven points for touching one plastic guy.
Student PIN:
Your arm motor is the exact same kind of motor as your wheels. What changes today is not the motor — it is the job.
| A wheel’s job | An arm’s job | |
|---|---|---|
| What it does | Rolls round and round | Swings between a few poses |
| What you tell it | How far to roll from wherever it is | Exactly where to be |
| When it is done | When the distance is used up | When it arrives at the place |
Remember the number from Project 3 — the one that changed when you turned a wheel by hand? The brick is counting how far every motor has turned, all the time. Today that counting stops being a curiosity and becomes the whole point: “up” is a place — a number of degrees from home — not a push.
Arm motor in A. On the brick, open Port View (the same screen you used in Project 3) and arrow over to port A, so you can see the arm motor’s live number.
First put the arm all the way down — resting at the bottom of its swing. Note the number Port View shows there. Now move the arm gently with your hand, from the bottom of its swing to the top, and watch the number climb away from where it started.
| Where the arm is | Roughly how far the number moved from the bottom |
|---|---|
| All the way up | |
| All the way down |
In your own words: what is the difference between telling a motor how far to roll and telling it where to be?
One block does today’s job. It needs four pieces of information: which motor, which way, how far, and the unit — degrees.
Here is the one thing you must never forget about this brick: when a program starts, every motor’s count starts at 0 right where the motor happens to be. The brick does not know where “down” is. It only knows how far things have turned since the start.
The Start Pose Rule
So you give the arm its home: before every single run, set the arm to the same pose by hand. Ours is all the way down. Do that, and “up” really is the same place every time — the same number of degrees from home.
Skip it — start one run with the arm half-raised — and every arm move in your program lands somewhere new. Real matches work exactly this way too: you set your robot’s starting pose with your own hands, and the program trusts it.
A run for degrees block does not start the arm and let go. It swings the arm the whole distance you asked for, and only then does the next block run — just like your move-for blocks on the wheels.
⚠ An Arm Has Ends --- Respect Them
Once the arm is built, the motor cannot swing a full circle any more. Somewhere there is a frame, a floor, a robot in the way.
Command more degrees than the arm can actually swing and two bad things happen at once: the motor strains against the obstacle, and — because the block is still waiting to finish its trip — your whole program stands still with it.
Find your arm’s real ends by hand first, and never command a swing past them.
Set the Speed Before the First Move
Motor speed starts out fast — fine for wheels, violent for an arm. A full-speed arm slams down hard enough to shake the robot, scatter what you were reaching for, and loosen your build.
So the first arm rule: a set speed block for port A, at something gentle like 20%, before any arm move. Every arm program starts that way from now on.
Which Arrow Is Up?
The arrow dropdown picks clockwise or counterclockwise — and remember the wheel lesson from Project 3: which way a motor is mounted decides what those arrows mean. On our build, ↻ raises the arm and ↺ lowers it. If yours is backwards, your motor faces the other way — just swap every arrow in your program.
Either way, the direction is a decision you make on purpose, every block.
Mission 9
A robot is Botguy.
Botguy is outside the enclosure AND is touching the warehouse floor.
Seven points for one touch. It is the best points-per-effort deal on the field — as long as you actually make contact.
New project called Arm — names in the project name. But before any blocks: with your hand, set the arm all the way down, resting at the bottom of its swing. That pose is home. Every program from now on begins with the arm here, and every number you write down today is measured from here.
Say it out loud as a team, because it is the Start Pose Rule and it runs your whole season: arm down by hand, then press run.
With the arm at home, open Port View on port A and note the number it shows. Now move the arm by hand, slowly, up to each pose — and write down how far the number moved from home. These three numbers are about to run your whole season.
| Arm position | Degrees from home |
|---|---|
| Up — clear of everything, safe for driving | |
| Horizontal — straight out in front | |
| Down — home. This one is easy | 0 |
⚠ "Down" Is Not "Into the Floor"
Do not pick a down that presses the arm against the floor. The motor strains at a place it cannot reach — and every block after it waits forever for an arrival that never comes.
Make the arm visit all three positions, holding each one long enough to see. One new idea first: a run-for block moves the arm from wherever it is — so each trip is the difference between where you are and where you are going. Work out your two trip numbers before you build:
| Home up to up (that is just your up number) | |
| Up down to horizontal (up − horizontal) | |
| Horizontal down to home (that is just your horizontal number) |
Now plan it as — speed, then up, pause, horizontal, pause, down, pause, back up — then build it. Arm at home first, always:
The run-for block already finishes its trip before the next block runs. So what are the wait blocks for?
Change the set speed block to 100% and run the Wave again. Stand back a little.
Put it back to a gentle number. That is the arm’s speed from now on.
Pick one arm block and flip its arrow the wrong way. Run it — with your hand ready near the stop button.
What happened, and what could that do on a real field?
Set it back. From now on, the direction dropdown is a decision, not a default.
New project called Reach. Practice away from the field first: put any object a short drive away, then drive to it and touch it with the arm.
Two rules, borrowed from how the mission works:
| Code / part | What it means |
|---|---|
| 1. Arm starts up | |
| 2. Drive to the object | |
| 3. Stop | |
| 4. Lower the arm to touch it | |
| 5. Raise the arm again |
Onto the field. New project called Botguy.
Botguy is inside the enclosure. Your robot has to reach in and make contact — direct contact, arm to Botguy.
TOUCHING Means Direct Contact
Two objects are TOUCHING when they are in direct physical contact. Contact through something else — a cube, a wall, another field element — does not count. Your arm has to reach Botguy himself.
| Try | What I changed | Did the arm reach him? |
|---|---|---|
| 1 | ||
| 2 | ||
| 3 | ||
| 4 |
| Run | Touched Botguy? |
|---|---|
| 1 | |
| 2 | |
| 3 | |
| 4 | |
| 5 |
| Mission part | Scored? | Points |
|---|---|---|
| Mission 9 — Base (robot TOUCHING Botguy) | 7 | |
| My total | 7 |
Keep these next to your driving numbers. Everything from here uses them.
| Setting | Value |
|---|---|
| Port my arm motor is in | |
| Arm up — degrees from home | |
| Arm horizontal — degrees from home | |
| Arm home pose (describe it) | |
| Degrees from home for touching Botguy | |
| Speed I use for arm moves (%) |
The wheels never need a start pose — the arm always does. What is different about an arm’s job that makes home matter so much?
Your degree numbers are scattered through your program as bare numbers. If you rebuilt your arm slightly differently tomorrow, how many places would you have to change?
You can touch Botguy but you cannot get him out of the enclosure. What exactly can a claw do that a single arm cannot?
In Project 8 — Arm and Claw Together, a second motor joins the first. Two motors working as one system means you can finally grab, carry, and release — and a whole set of missions opens up at once.
Download saves a local copy of your answers. It does not turn in your work automatically; give the downloaded file to your teacher.
KIPR · Botball Explorer — Introductory Projects · © KISS Institute for Practical Robotics 1997–2026