Make A System That Communicates


Design Brief

Design, build and program a robotic system that follows a path and communicates its position at least twice along the way.

  • Robotic systems are built from smaller, related subsystems. Look at the automobile system shown in the video. What subsystems can you see?
  • What kinds of robots follow a path?
  • What kind of system do you want to make?


Discuss different solutions to the design brief.

Think about:

  • What kind of motorized mechanism can be used to control the movements of a robot?
  • How can the robot sense where it is along the path?
  • How can the robot communicate its position?

EV3 + LEGO Bricks



You can start by tinkering with the LEGO elements in the picture and then build on.

More building ideas:

EV3 Frames


Color Sensor 2

If clicking the above images doesn’t open the instructions, right-click on the image and choose “Save link as…” to download the PDF.

Build a path for your robot to follow. You can use electrical tape on a floor, or marker on paper. You can use objects as milestones to indicate a path that can be detected by either the Touch Sensor, Color Sensor, or Ultrasonic Sensor.


Before you program, think about:

  • How will you program the robot to follow a path?
  • How will you program the robot to communicate its position?
  • Which programming blocks will you use?

Explore the different Motor and Sensor blocks in the programming menu.

Sample Solution

Video: EV3 Track Rover

The Track Rover follows a path using the color sensor. It identifies two locations by color.

Track Rover solution combines these building ideas:

  • EV3 frames
  • Tracks
  • Color sensor 2

Two copies of the tracks are built: one for the right side and a mirror image for the left side.

Track rover assembled

If clicking the above image doesn’t open the instructions, right-click on the image and choose “Save link as…” to download the PDF.

Sample Program Solution

This program works with the Track Rover. If you create a different robot, adjust the program to fit your solution.

Program summary:

  • If the Color Sensor sees black, Motor B runs at -50 power and Motor C turns off.
  • If the Color Sensor sees white, Motor B turns off and Motor C runs at -50 power.
  • If the Color Sensor sees green, all motors stop and the green sound plays.
  • The robot waits one second, then motors move forward.
  • If the Color Sensor sees red, all motors stop, and the red sound plays.
  • The robot waits one second, then motors move forward.
  • Loops unlimited.
forever(function () {
    if (sensors.color3.color() == ColorSensorColor.Black) {
    } else if (sensors.color3.color() == ColorSensorColor.White) {
    } else if (sensors.color3.color() == ColorSensorColor.Green) {
    } else if (sensors.color3.color() == ColorSensorColor.Red) {

Download and test

Click Download and follow the instructions to get your code onto your EV3 Brick. Press the center button on the EV3 Brick to run the program.


Test and Analyze

As you work on your solution:

  1. Describe one part of your design that worked especially well.
  2. Describe one design change that you had to make.
  3. What will you try next?

Review and Revise

Take a moment to reflect on your robot solution.

Think about:

  • Can the robot’s movement be more accurate?
  • What are some ways that others have solved the problem?

Describe two ways you could improve your robot.


Personalize your project

  • Add/remove LEGO elements to improve the way your robot moves.
  • Click on the JavaScript tab and experiment with changing the values in the code.
  • Add a custom image or sounds by adding blocks from the Brick or Music menus.


Here are some ideas:

  • Create a video of your project, especially your final presentation and your robot’s performance.
  • Explain some important features of your software program.
  • Produce a building guide for your model by taking a series of photographs as you deconstruct it.
  • Include an image of your program with comments.
  • Add a team photograph!

Congratulations! What will you design next?