Base Mission
7 points Live judgedA robot is Botguy.
Introductory · SPIKE 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 hub is counting every motor’s position, all the time. Today that counting stops being a curiosity and becomes the whole point: “up” is a place, not a push.
Arm motor in C. Connect the app and open the view that shows the connected devices, so you can see the arm motor’s live number.
Move the arm gently with your hand, from one end of its swing to the other, and watch the number.
| Where the arm is | Roughly what number the app shows |
|---|---|
| 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 three pieces of information: which motor, which way round, and which place.
A motor’s positions run from 0 to 359 degrees, like the face of a clock. And 0 is not random: look closely at the motor and you will find two little marks on its case. When the marks line up, the motor is at position 0. That is its home, and it is the same home every time — which is exactly what an arm needs.
A go to position block does not start the arm and let go. It moves the arm all the way to the place, 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 a position the arm physically cannot reach and two bad things happen at once: the motor strains against the obstacle, and — because the block is still waiting to arrive — your whole program stands still with it.
Find your arm’s real ends by hand first, and never command 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 C, at something gentle like 20%, before any arm move. Every arm program starts that way from now on.
Shortest Path Can Be the Wrong Path
That shortest path dropdown means “go whichever way round is closer.” Helpful — until the closer way round is through the table, through your own robot, or through the cube you were about to pick up.
When the route matters, do not let the motor choose. Pick clockwise or counterclockwise on purpose.
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. Build just this, and run it:
Watch where the arm ends up. That is your arm’s position 0 — its home. Everything else gets measured from here.
Now move the arm by hand, slowly, and read its live number in the app at each pose. These three numbers are about to run your whole season.
| Arm position | Degrees |
|---|---|
| Up — clear of everything, safe for driving | |
| Horizontal — straight out in front | |
| Down — just above the floor |
⚠ "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. Plan it as first — speed, then up, pause, horizontal, pause, down, pause, back up — then build it:
The position block already finishes the 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 position block and change shortest path to the arrow that goes the long way round. 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 position | |
| Arm horizontal position | |
| Arm down position | |
| Arm position for touching Botguy | |
| Speed I use for arm moves (%) |
A move block tells the wheels how far to roll from wherever they are. A position block tells the arm exactly where to end up. Why does the arm need the second kind?
Your position 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