Learning Goals 3 min
By the end of this lesson you will be able to:
- Build the Drop Tower with its Medium Motor in port A and Colour sensor in port 3.
- Read the floor brightness with ([3 v] reflected light intensity).
- Use a forever loop so the tower lifts, drops and re-lifts the figure again and again.
Meet the Model — the Drop Tower 6 min
What is a drop tower?
A drop tower is a tall amusement-park ride. A car of riders is hauled to the top, held for a moment, then released to fall back down at speed.

The science behind it
As the car is hauled up, it stores potential energy. When released, it free-falls under gravity, and that stored energy turns into kinetic energy — the energy of motion. Brakes near the ground slow it safely to a stop.
Where you meet it
Drop towers thrill visitors at theme parks worldwide, including the rides high up at Genting Highlands in Malaysia.
What we'll build
We'll build a Drop Tower lifted by a Medium Motor on port A. A Colour sensor on port 3 senses the landing, and a forever loop repeats the ride.
Warm-Up 4 min
Last lesson your robot reacted once. A real fairground ride runs all day — over and over. That needs a loop.
Quick-fire puzzle
Mei Ling runs this. How many times does the motor lift the figure?
when program starts :: events hat forever [A v] run [clockwise v] for (2) [rotations v] :: motors wait (1) seconds end
Reveal the answer
Forever — there is no end. The motor lifts, waits, lifts, waits, and keeps going until you press the Brick's back button. A forever loop never stops on its own.
New Concept — the forever loop + Colour sensor 10 min
A forever loop is the robot's heartbeat — it runs the blocks inside, then runs them again, with no end. Pair it with a sensor and the robot senses and reacts on every beat.
Blocks reference
| Block | Category | What it does |
|---|---|---|
forever | Control | Runs the blocks inside over and over, with no end. Stops only when you stop the program. |
([3 v] reflected light intensity :: sensors) | Sensors | How bright the surface under the sensor looks, from 0 (dark) to 100 (bright). |
wait until <> | Control | Pauses until the test inside is true — here, until the floor looks dark. |
Port reminder: Colour sensor → port 3. (Touch=1, Gyro=2, Colour=3, Ultrasonic=4.)
Reflected light — the sensor as an eye
The Colour sensor shines a light down and measures how much bounces back. A bright floor reads high (near 100); the dark shadow of the landed figure reads low (near 10). Comparing the reading with a limit tells you the figure has landed.
Why it matters
This "sense, react, repeat" loop is the heart of nearly every robot — line followers, sorting machines, alarms. The Drop Tower is your first machine that runs and reacts on its own, forever.
Build & Program — the Drop Tower 17 min
Part A — Build
Build the Drop Tower. A Medium Motor winds a string to lift a figure to the top; when released it drops, and a Colour sensor at the base senses the landing.
Components & ports: EV3 Brick · Medium Motor → port A · Colour sensor → port 3.
- Attach the Medium Motor to the top beam; plug it into port A.
- Tie a string from the motor axle to the figure so it winds up when the motor turns.
- Clip the Colour sensor facing down at the base; plug it into port 3.
- Place the figure on the floor under the sensor.
Part B — Program
Build a forever loop: lift the figure, wait for it to land (floor goes dark), beep, and repeat.
- Start the program and open a forever loop:
when program starts :: events hat
forever
- Lift the figure to the top:
[A v] run [clockwise v] for (2) [rotations v] :: motors
- Wait for the landing — the floor goes dark:
wait until <([3 v] reflected light intensity :: sensors) < (15)>
- Boing on every landing:
play sound [Expressions / Boing v] until done :: sound
when program starts :: events hat forever [A v] run [clockwise v] for (2) [rotations v] :: motors wait until <([3 v] reflected light intensity :: sensors) < (15)> play sound [Expressions / Boing v] until done :: sound end
Expected behaviour: the motor winds the figure up; it drops; when the Colour sensor sees the dark floor it plays a boing — then the loop lifts it again, forever. Press the Brick's back button to stop.
What changed: instead of reacting once, the robot now senses and reacts on every loop — on its own, with no further button presses.
Try It Yourself — three small builds 11 min
Goal: Count the rides out loud. Beep at the top of every lift as well as the landing.
when program starts :: events hat forever [A v] run [clockwise v] for (2) [rotations v] :: motors play beep (60) for (0.2) seconds :: sound wait until <([3 v] reflected light intensity :: sensors) < (15)> play sound [Expressions / Boing v] until done :: sound end
Goal: Show a live status on screen each cycle — "LIFTING" while it rises, then react to the landing.
when program starts :: events hat forever write [LIFTING] at line (1) :: display [A v] run [clockwise v] for (2) [rotations v] :: motors wait until <([3 v] reflected light intensity :: sensors) < (15)> play sound [Expressions / Boing v] until done :: sound end
Goal: Arjun wants a calmer ride. After each landing, pause one second before the next lift, and flash the status light green for "ready".
when program starts :: events hat forever set status light to [green v] :: display [A v] run [clockwise v] for (2) [rotations v] :: motors wait until <([3 v] reflected light intensity :: sensors) < (15)> play sound [Expressions / Boing v] until done :: sound wait (1) seconds end
Mini-Challenge — the self-running ride 6 min
Bring Level 1 together. Make a Drop Tower that lifts, senses the landing, and gives feedback every cycle using at least two of: sound, screen text, status light — all inside one forever loop.
It works if:
- The figure keeps dropping and re-lifting forever, with no button presses.
- The robot gives feedback (sound and/or screen and/or light) on every landing.
- The program inside the loop stays at 8 blocks or fewer.
Recap 2 min
You built a machine that senses and reacts forever. A forever loop repeats its body endlessly; the Colour sensor's reflected light reading drops when the figure lands, and wait until catches that moment. That is the sense-react-repeat pattern at the heart of robotics.
- forever (block)
- A Control loop that runs its body over and over with no end. Stops only when the program stops.
- Reflected light
- How bright the surface under the Colour sensor looks, from 0 (dark) to 100 (bright).
- Threshold
- The in-between number you compare a reading against to make a decision.
Where this came from: adapted from EV3Lessons (Beginner tab) — ev3lessons.com.
Homework 1 min
Calibrate your floor. Read the reflected light of your bright floor and of the shadowed figure. Pick a threshold halfway between, and set it in your program.
Bring back next class: your two readings, your chosen threshold, and a short video of the tower running forever.
Level 1 complete! You can build a model, drive motors precisely, give feedback with screen, light and sound, read sensors, and loop forever. Level 2 adds if-else decisions, precise driving and more sensors.