LEGO Education SPIKE Prime
FIRST LEGO League (FLL) 2019-2020 City Shaper Challenge. Example solutions with explanations. EV3 and SPIKE
You probably know that every year we're releasing a Solutions and Review course for the missions of FIRST LEGO League competitions challenges. This year the situation with the competition is a bit different, but here we are - sitting here, acting kinda normal, figuring out what robot should we build to accomplish every mission 10 times in a row.
- 23
- 6:58
- 20
FLL 2021: Deliver a model - How to accomplish Innovation Project Model
In this video tutorial we deliver the Innovation project model from base to the cargo connect marker on the field. The goal of the mission is to deliver. The mission model is assembled before that.
- #2035
- 16 Sep 2022
FLL 2021: Deliver large objects - 10 out of 10 on how to accomplish the Large Delivery mission
This is a 10 out of 10 tutorial on an active, auto-correcting, locking, and aligning attachment that accomplishes the FIRST LEGO League 2021-2022 Cargo Connect Large Delivery mission. The difference, as compared to the previous solution to the mission, is that we now use a much more consistent and reliable robot.
- #2120
- 04 Apr 2023
Navigate through a labyrinth
There is the classic robotics task - maze solving, or navigation in a labyrinth.
Today we will start with an introductory challenge - navigation in a known tunnel.
- #627
- 20 Aug 2017
How to use the Motor Position Block in LEGO SPIKE Prime Word Blocks Software
Did you know you can use the motors as sensors? Here's how!
- #2494
- 16 Sep 2025
Malen - LEGO SPIKE Prime telephone game robot
Malen comes from Malentendu, which means misunderstanding in French.
The robot has a color wheel with 4 colors in the back and a color sensor in the front. When you show a color to the color sensor, it can show it back. You can chain multiple of these robots to make a telephone game!
- #4244
- 23 Feb 2026
Teacher's Notes
Solutions to today’s tasks:
Program the robot to lift its arm by 90 degrees in 1 second.
from hub import port import runloop import motor, time async def main(): # write your code here # Start motor motor.run(port.D, 90) # Wait for 2 seconds time.sleep_ms(1000) # Stop motor motor.stop(port.D) runloop.run(main())
Program the robot to lift its arm by 90 degrees in 2 seconds.
from hub import port import runloop import motor, time async def main(): # write your code here # Start motor motor.run(port.D, 45) # Wait for 2 seconds time.sleep_ms(2000) # Stop motor motor.stop(port.D) runloop.run(main())
Program your robot to hand you its cup using the "run_for_time()" command.
from hub import port import runloop import motor async def main(): # write your code here await motor.run_for_time(port.D, 2000, 45) runloop.run(main())
from hub import port import time import runloop import motor async def main(): # write your code here motor.run(port.A, 1000) motor.run(port.B, -1000) time.sleep_ms(2000) motor.stop(port.A) motor.stop(port.B) await motor.run_for_time(port.D, 1000, 90) runloop.run(main())
- #2585
- 06 Feb 2026