Carousel
Fix the Carousel
You’re going to the Amusement Park with a friend.
You really want to try the carousel, but it’s out of service.
Your Challenge
Help the owner fix it, and he’ll give you a few rides as a thank you.
How do carousels usually look?
They have a round platform that spins, with seats or little vehicles where people can ride.
To build one, you’ll need a motor to make the platform spin.
But here’s the tricky part: how do you connect plates or beams to the motor so they spin together with the shaft and don’t spin freely on their own?
Then add a rotating beam or plate to the motor shaft so it spins with the shaft and doesn’t turn on its own.
💡 To make a beam longer without it swinging at the joint, use at least two pins to connect it through overlapping holes.
Use two pins in a row, not just one. This keeps everything strong and stable.
Here are some ideas for you to get inspired.
Build your carousel!
Start by attaching the motor and the Hub to a yellow panel using black pins.
This helps keep everything tidy and makes it easy to carry around your model as one piece.
Minifigures can ride on the ends of the plate… or maybe you’d rather build little ships or seats for them to sit in?
Now, picture a minifigure getting ready to ride your carousel. Ask yourself:
- Is it fun?
- Is it easy and safe to hop on?
- If your carousel is up high, did you remember to add a stair or a ramp so they can climb aboard?
That’s called thinking about the user experience (UX) — and it’s something real designers do all the time to make sure their creations are fun and easy for everyone to use!
Try designing your own carousel first.
But if you ever feel stuck, or just want to check out one way to build it, you can click below to see the instructions I made for you.
Let’s think before we code!
We want the carousel to:
- Start in the right position, so minifigures can climb up safely from the stairs
- Spin slowly for a fixed number of full turns
- Stop automatically when the ride is over
How would you say that in plain words, like giving instructions to a friend?
Try writing your plan like this:
When the program starts
Line up the seats with the stairs
Spin slowly for 5 full turns
Stop and end the programNow you’re ready to turn this plan into code!
The Scratch blocks you’ll need
To program the Carousel within the SPIKE App, you might need the following blocks.
When Program Starts

This block plays all of the blocks attached to it, sequentially from top to bottom, when the program starts.
Set Motor Speed

This block sets the speed of one or more motors. The speed range is -100 to 100. Negative values will reverse the direction of the motor. If the speed hasn’t been specified, the default value is 75%. Each motor block has a port input dropdown menu where you can specify which port the motor you want to control is attached to. You can select a single port or multiple ports.
Run Motor for Duration

This block will run one or more motors clockwise or counterclockwise for a specified number of rotations, seconds, or degrees. One rotation corresponds to 360 degrees.
The motor speed is set by the Set Speed Block. The default speed is 75%.
Motor Go to Position

This block sets one or more motors to a specified position. The motor can be set to run clockwise, counterclockwise, or to take the shortest path to the specified position. The position ranges from 0 to 359 degrees. The motor speed is set by the Set Speed Block. The default speed is 75%.

Stop

This block stops all programming stacks that are currently running, stops only its own programming stack, or exits the program. For our program is optional, but I like to stop the program completely when the sequence is over. Without this block, the hub won’t return to the program selection menu (the one with the program slot numbers).
Bring the Carousel to Life
Look at your pseudocode one line at a time, and find the matching blocks in the SPIKE app.
Stack the blocks in order, connect your robot to your device, and run the program.
See what happens. Tweak the code to change the way the carousel works.
Troubleshooting
If the model does not work, check if the motor is connected to the same port as the one you specified in the block setting (for example, A).

How Did It Go?
Watch how your carousel behaves.
- Does it start in the right position?
- Does it spin the correct number of turns at the right speed?
- Does it stop when expected?
Think about what works well, and what could be improved.
The Dizzy-Tron Challenge
Think your carousel is fun? Let’s turn it into a wild ride!
Make it spin faster, change directions suddenly, or keep going until your minifigures can’t take it anymore.
Can you make a program that’s so dizzying it would make your riders scream or see their last meal again (if they could)?
Bonus
Add lights or sounds to make the experience even more intense!
Don’t worry if you haven’t learned how to program lights and sounds yet. We’ll cover that in future lessons.
You can always come back to this challenge later!
Evaluate Yourself
Use this checklist to see what you learned:
- I can attach a beam or plate to the motor shaft so it turns as one with the shaft, without spinning freely.
- I can build system pieces together with Technic studless pieces.
- In the program, I can set the port the motor is attached to in the motor blocks.
- I can change the speed of a motor.
- I can change the direction of rotation of a motor.
- I can change the duration of rotation of a motor (seconds, rotations).

