Basic Programming


Name of Activity Basic Programming
Author Ali Boreiko
Keywords touch sensor, ultrasonic sensor, sound sensor, light sensor, simple programming, introduction to NXT, introduction to Mindstorms, introduction to programming
Subject NXTs
Grade Level 4, 5, 6, 7, 8
Time 1 Hour Total
Brief Description Students complete a simple series of programming challenges to familiarize themselves with Mindstorms programming.
Lesson Objectives: For students to become more competent programmers
Materials Needed: computers with Mindstorms, whiteboard/chalkboard, a list of simple challenges OPTIONAL: pre-built cars
Preparation and Set Up: 1. Decide what functions of the NXT will be most useful for your class. Do you want them to know how do use a particular sensor? How to steer the robot? How to make the NXT make noises? Then, create a list of ~8 challenges that target these areas of Mindstorm programming (see our example under “References”). Create the challenges so that harder challenges only require the students to change 1 or 2 parts of their program. That way they will see the direct connection between the change they made and the robot’s actions. They will also feel accomplished if they are able to complete more challenges.

2. You may have the students pre-build a car, but the activity can also be done by programming other things (e.g. an NXT arm)

  1. Ask each group to put the necessary sensor/equipment onto their robot.
  2. As a class, program the first challenge. As kids complete the challenge, have them come up to the board and demonstrate the challenge to either STOMPer. Once the students have accomplished and demonstrated the challenge, write their name on the board next to the challenge.
  3. Once kids have finished the first challenge, they may go on to harder challenges–but they must complete them in order!
  4. As kids complete the challenges, check off the challenges under their names. This way, you recognize kids who stay focused on the tasks.
Extensions: This activity can be adapted for various skill levels by simply making the challenges more difficult or adding more difficult ones at the end of the list
Previous Activity (if applicable) Introductory building
References Our list of touch sensor challenges
Umbrella Unit/Curriculum (if applicable) Introduciton to Mindstorms, Introduction to NXT Robotics

Communication Towers


Name of Activity Communication Towers
Author Ali Boreiko + Jen Scinto
Keywords communication, non-NXT, building, teamwork, social skills
Subject Non-LEGO
Grade Level 5, 6, 7, 8, 9+
Time <1 Hour Total
Brief Description In this activity, students will better understand the importance of communication for engineers. By completing an engineering challenge silently in groups , they will gain an appreciation for verbal communication.
Lesson Objectives: The objective of this activity is to have students reflect on how they communicate to their classmates and to the teachers. 
Materials Needed: -Found materials (paper, bottles, straws, clothespins, etc)

-An arm’s length of tape

-A separate room/space where half of the students can work (e.g. a hallway or empty classroom nearby).

Procedure Warm up the class by discussing: What is communication? How do humans communicate? Animals? Robots? Who do engineering need to communicate with when they’re working on a project? Who do you communicate with when you’re working on a project? (5-10 mins)

Then, divide the class up into teams of 6-10 people, let them choose their team name. The teams are competing to build the tallest tower. But, the team must build the top and bottom half separately. So, divide the teams up again into two groups, the top and the bottom (each with 3-6 people).

Tell them that the two groups working on the bottom cannot talk, but are allowed to write and draw. The team working on the top is not allowed to write or draw, but is allowed to talk. Let the kids work for ~10 minutes on their part of the tower. They should NOT be able to see the other half of the tower.

Then, each of the two groups (top and bottom) sends a representative to discuss their ideas with the other half of their team to plan how the tower will fit together. They cannot bring any pieces from the tower, just their ideas. Each representative keeps his or her handicap. After they meet for 5 minutes, the representatives return to their groups and continue to build. 

After ~10 more minutes of building, the groups unite and get 5 minutes to connect their tower, all the while with their handicaps. Finally, once each team has a tower, measure them! 

Debrief by asking: What was hard about the activity? Why is communication so important for engineers? (5-10 mins)

Frankenstein’s Robot


Name of Activity Frankenstein’s Robot
Author Charlie and Laura +Devyn and Alli’s Minigroup
Keywords Frankenscience, Introduction to NXT, sensors, instructions
Subject NXTs
Grade Level 4, 5, 6, 7, 8
Time 4+ Hours Total
Brief Description Providing students “Frank” the NXT brick, and walking them through the process of making Frank functional. This activity is an intro to NXT, so instructions are there to guide students as they become comfortable with new parts. Parts should be entirely interchangeable between robots.
Lesson Objectives: Personification of sensors
Confidence in using individual sensors and motors
Ability to combine a number of simple parts to create a more complex system
Materials Needed: NXT kits
Procedure Frank the robot is broken down into several steps of building and programming. The goal is for the kids to build a fully functional robot with advanced behavior without the children feeling overwhelmed by the complexity of the project.

Frank is introduced to the children as just an NXT brick. we comment on how Frank wants to be more mobile and introduce the deigns for the legs of frank the robot

Building Instructions [Frank the robot[moters+frame]]

distribute the PDF of the instructions to the kids, and the instructions should be intuitive enough for the kids to follow along. an NXT mindstorms program should also be developed that the kids can follow along as it’s programmed ( highly recommended to code and debug before giving to the kids)

once the kids have built frank up to the point of the instructions finish at, then the kids should bring out the laptops and start programming the motors. these small steps will show the kids that programming and building are not actually two separate tasks, but opposite sides of the same coin. this also allows for multiple iterations of the engineering design process.

once the kids have finished with the motors and basic frame then the other PDF’s should be distributed.



Wheel and Axle Lesson





Name of Activity Wheel and Axle Lesson
Author STOMP
Keywords Simple Machines, Wheel and Axle, NXT
Subject NXTs, Simple Machines
Grade Level 5, 6, 7, 8
Time 2 Hours Total
Brief Description Students work in groups to build a vehicle using NXT kits that includes a wheel and axle and has to be able to hold a ball. To discourage everyone from using a basic car design, their designs cannot have exactly four wheels. Once their design is complete (including motors and the NXT brick), each group learns how to use on brick programming to make their vehicle move the ball across their workspace.
Lesson Objectives: Improved understanding of the wheel and axle as a simple machine. Students gain skill building with NXT kits and using on brick programming.
Materials Needed: -NXT kits (1 per group)
-extra Legos
Preparation and Set Up: Consider bringing extra Legos for groups to build with, prepare to talk about the project in terms of the Engineering Design Process and simple machines.
Necessary Background None
  1. Introduce the project by talking about the importance of the wheel and axle as a simple machine.
  2. Tell them the objective: to make a vehicle that can’t have exactly four wheels, includes the NXT brick and motors, and is capable of carrying the NXT ball across their workspace.
  3. Explain the project in terms of the Engineering Design Process, discuss which steps would be best to focus on for this project.
    • We drew the entire Engineering Design Process on the board and went over each step, asking them how they though the steps fit into this activity. At the end of the discussion we decided that the most important steps for this activity would probably be developing/ sketching solutions, prototyping, and communicating with other group members.
  4. Separate students into groups of 3-5.
    •  Most teachers already have some method of grouping students, or know which students shouldn’t be in a group together.
  5.  Give them the rest of the first hour to sketch a design and then build it.
    • Make sure each group includes motors and the NXT brick into their design.
  6.  If the lesson is taking place over two, one-hour blocks leave 5-10 minutes at the end of the first block for cleanup.
  7. Once a group has their vehicle fully assembled, show them how to make it move using on brick programming.
    • Make sure each member of the group gets a chance to try programming, and show them how to do things like change direction, turn, and loop through a set of instructions.
  8. If any of the groups finish early, show them how to add sensors and change the on brick program to respond to sensor input.
  9. Leave 15 minutes for each group to demonstrate their finished vehicle and clean up.
Umbrella Unit/Curriculum (if applicable) Simple Machines

Introduction to Simple Machines





Name of Activity Introduction to Simple Machines
Author STOMP
Keywords Simple Machines, Pulley, Wheel and Axle, Gears, Wedge, Inclined Plane, Lever, Screw
Subject Simple Machines
Grade Level 4, 5, 6, 7, 8
Time 1 Hour Total
Brief Description Set up an example of each type of simple machine machine at stations around the classroom. Each station should have NXT kits, or Lego/ found materials, available for students to try mimic building each machine of their own design. It is important that for each simple machine there is an example of the machine being used in the real world (this can be done with pictures at each station, or video). This will help to get them to think about their own real world examples. End with a general discussion and “show and tell” of the simple machines they made during class. If there is time also discuss how each simple machine could be improved.
Lesson Objectives: Introduce students to the seven simple machines. Prepare students for a curriculum involving building/ using simple machines.
Materials Needed: -NXT kits (for preparing examples)
-Lego simple machine kits
-real world example pictures/ videos
-Legos in classroom for students to make their own
-assorted found materials
Preparation and Set Up: Construct (out of Legos or found materials) an example of each simple machine before going into the class. Find a way to display pictures or video of a real world example of each simple machine to display at each station.
Necessary Background None
  1. Prepare an example of each simple machine before going into the classroom
    • Note: All of the simple machines could be built with either Legos or found materials. We found that Legos worked best for building the inclined plane, wheel and axle, pulley, gear, and lever examples. We used Tetrix to demonstrate the screw and a doorstop to demonstrate the wedge.
  2. Print a picture of a real world example for each simple machine.
  3. Before going to the classroom, make sure they have enough NXT kits, assorted Legos, or found materials for students to build their own simple machine examples.
    • Consider bringing in extra supplies and Lego pieces since NXT kits don’t work extremely well for building every type of simple machine.
  4. In the classroom, introduce each simple machine and set up the examples at seven stations around the classroom. Ask them to think about (or write down) what tasks each machine could be used for, how do they make these tasks easier, and how the examples that the STOMPers built could be better.
  5. Allow students to walk around between stations and attempt to build their own version of each simple machine.
  6. Leave the last 10 minutes for students to present the examples they built and discuss the points they considered during the class time.
    • More time might be required depending on how much cleanup there is.






Name of Activity NXT Car
Author STOMP
Keywords NXT, car, robotics
Subject NXTs, LEGO Building
Grade Level 4, 5, 6, 7, 8
Time 1 Hour Total
Brief Description Students construct a basic car that can move and turn using the NXT kit.
Lesson Objectives: Learn how the NXT pieces work together to create structures and how to incorporate motors and the NXT brick elements into the design.
Materials Needed: NXT Kit
Preparation and Set Up: None
Necessary Background Basic understanding of how cars move and turn, as well as familiarity with the NXT kit.
Procedure 1. Describe the goal and mention basic guidelines (at least 2 wheels, ability to turn). 2. Brainstorm potential ideas or structures in individual groups. 3. Build the cars.
Extensions: None
Modifications: More elaborate design guidelines could be given.
Umbrella Unit/Curriculum (if applicable) NXT Robotics

NXT Calculator





Name of Activity NXT Calculator
Author Jay Clark
Keywords NXT, calculator, build, operate, numbers, math block, display block, user interface, 1 Hour Total
Subject NXTs
Grade Level 7, 8, 9+
Time 1 Hour Total
Brief Description Students build and program an NXT calculator that can operate on two numbers.
Lesson Objectives: Programming with the math block
Learning the display block
A first exposure to user interfaces
Materials Needed: 1 NXT kit per group
Computers with Minstorms NXT software
Procedure This is an open ended challenge that is sure to challenge students’ programming knowledge and yield many unique solutions. Students must think about how they are going to input numbers, and how they are going to choose the operator.
Reference 1

Challenge Day!





Name of Activity Challenge Day!
Author Jay Clark
Keywords difficulty, tasks, points, programming, risk, reward, risk vs. reward, NXT, MINDSTORMS, 3 Hours Total
Subject NXTs
Grade Level K, 1, 2, 3, 4, 5, 6, 7, 8, 9+
Time 3 Hours Total
Brief Description Students choose from a list of different tasks with a range of difficulty levels and varying point values. The group with the most points at the end of the class period wins!
Lesson Objectives: Review Programming Skills.
A first exposure to making risk/reward decisions.
Materials Needed: One NXT kit per group
Computers with Mindstorms NXT software
Black electrical tape
Preparation and Set Up: Put together a list of challenges on a worksheet. They should range in difficulty level from very, very simple to challenges that are more or less impossible to complete. Assign point values to the activities based on their difficulty, keeping in mind that close scores are more fun and drive the students to keep working. An example worksheet is attached below.
Necessary Background This activity is as much of an activity in assessing risk/reward and strategy as it is in programming. Some students will complete many tasks with simple, fundamental programming. Others will bite off more than they can chew, and end up without many points at all.
  • Introduce challenge day and go over what each challenge calls for specifically.
  • Hand out worksheets and set a strict time limit.
  • Update scores on an overhead or white board.
  • After the time is up, talk with children about risk/reward, and about how hard each challenge was. If they could do it over again, which would they choose? which were fastest.
Reference 1

NXT Bluetooth Remote Control





Name of Activity NXT Bluetooth Remote Control
Author Jay Clark
Keywords NXT, master, worker, simple, remote control car, soccer, maze, navigation, battlebots
Subject NXTs
Grade Level 7, 8, 9+
Time 1 Hour Total
Brief Description Students will program two NXT’s: One to be the master and one to be the worker. They will create simple remote control car as an introduction to a more complicated activity: A soccer match, maze navigation, battlebots, etc.
Lesson Objectives: Introduce students to bluetooth communication.
Encourage division of tasks and creative solutions.
Understand loops, switches, wiring, and data flow.
Materials Needed: Two NXT’s per group (bring extra NXT’s or combine groups)
Computes with Mindstorms NXT software
Preparation and Set Up: If you have time, give all NXT’s a unique name using the procedure outlined below.
Necessary Background Bluetooth connectivity in the NXT will bring surefire excitement into your classroom. However, there are a lot of (albeit simple) steps involved in making a connection. Be prepared for varying levels of difficulty across groups.

Groups that achieve connectivity early can work on making their remote controls more complex and sophisticated. Work to achieve connectivity before helping groups with involved programming questions.

Bluetooth – a standard for the short range wireless interconnection of electronic devices.

Master – Device in a communication relationship that sends commands.

Worker – Device in a communication relationship that receives and executes commands.

Procedure (1) Students must give their NXT a unique name. This is done by clicking on the NXT window button (located above the download and run button), replacing the name on the right hand side of the pop up window and pressing the enter button next to the name. Make sure the new name remains in the slot.

(2) Turn Bluetooth on on both of the NXT’s. This is done by scrolling over to bluetooth, clicking “turn on/off” and selecting on. The NXT should display the bluetooth symbol with a “<” next to it.

(3) One NXT should “search” for the other. In the bluetooth menu, select ‘search.’ The NXT will display a status bar while it scans electronic devices. A list will come up listing all closeby computers, phones, and NXT’s. Scroll to the NXT you want to connect to and select it.

(4) Choose a connection port. The NXT can connect to multiple devices. Connect to any port.

(5) Enter passkey. The passkey is 1234. If you successfully connected, both NXT’s should have a “<>” symbol next to the bluetooth symbol.


Programming the Master

The master will send messages using the “send message” command. For controlling a car with a continuous sensor value (rotation, light, sound, distance), you will be sending a number. Select your connection port, change message type to number. Finally, assign a mailbox for your command. Every command should have its own unique mailbox. (For example, the rotation sensor on the master will be controlling the power of the motors on the worker, while the NXT buttons will be controlling the steering. The rotation sensor message should get its own mailbox, and each NXT button should get its own mailbox, but they should all have the same connection number) To control the worker using buttons (NXT buttons and touch sensors), you will be sending logic. So switch the message type to logic and wire from the logic output of the sensor.   The program should be in a loop to check for and send commands continuously.


Programming the Worker

The worker uses the “receive message” command. Choose the mailbox and the message type, and use the wiring tool to use the information to send commands. If the message type is a number, you can wire it directly into the output you want to control. If its logic, you need to use it with a switch.

Reference 1

NXT Musical Instrument





Name of Activity NXT Musical Instrument
Author Jay Clark
Keywords Mary Had A Little Lamb, simple song, NXT, switches, sensors, task, instrument, wiring, math blocks, programming, loops, MINDSTORMS, Music Engineering, numerical frequency, audible, pitch, 2 Hours Total
Subject NXTs
Grade Level 4, 5, 6, 7, 8, 9+
Time 2 Hours Total
Brief Description Students will play “Mary Had A Little Lamb” and other simple songs on their NXT using switches and touch sensors. When students complete that task, they will make an instrument using other sensors, requiring wiring and math blocks in their programs.
Lesson Objectives: Learn about loops, switches, and math blocks
Introduce Musical Instrument Engineering
Understand the relationship between numerical frequency and audible pitch
Materials Needed: NXT Kit
Computer with MINDSTORMS NXT software
Necessary Background Mary had a little lamb is a simple song consisting of just three notes. The notes and corresponding lyrics are below:


ma-ry had a lit-tle lamb


lit-tle lamb, lit-tle lamb


mar-y had a lit-tle lamb


whose fleece was white as snow

All musical notes have a corresponding frequency. Concert A (or middle A) is 440 Hz. In order to play mary had a little lamb using a light or distance sensor, you must know the frequencies of the three notes you’re using:

C – 262

D – 294

E – 330


frequency – the rate at which a vibration occurs. Determines the pitch of a note.

Procedure Introduction Introduce switches to the students. A switch is a program structure that makes decisions based on external criteria, such as a sensor value. Introduce the lesson. Show the students the notes of Mary had a little lamb. Ask them how many touch sensors they would need to play it. Guide them to realize that they could use 2, and there are 4 opportunities for notes to play with two touch sensors: Left pressed, right pressed, both pressed, none pressed. Guide them through brainstorming how the program should look. Usually it’s hard for them to see that the second switch is required. ActivityHave the students program their robots to be able to play mary had a little lamb using switch blocks and sound blocks. When they finish, have them use another sensor and wiring and math blocks in their program to create another musical instrument. Or allow them to use switches with another sensor to set up ranges for each note.
Extensions: Play a different song!
Use touch sensors in conjunction with another sensor to set the octave.
Reference 1

Switch to our mobile site