Strawbees and Hummingbird

Hot glue a Strawbee to the Hummingbird servo motor, and then just start building!





You can also use Strawbees with the gear motor by gluing them to the plastic brick adaptor.






Try making a fun linkage with the Hummingbird and Strawbees!





Pro Tip: You can use just the tip of a Strawbee as a connector. This can help you to keep parts of your creation from colliding. In the video above, a small connector keeps the straw connected to the motor from hitting the stationary straw on the table.


The Wild Finch

In 2017, The Wild Robot by Peter Brown was chosen for the Global Read Aloud. Classrooms around the world enjoyed this engaging story about a robot named Roz who is stranded on an island and learns from the animals how to survive in the wilderness. Fourth graders at Goodnoe Elementary School added a new dimension to the Global Read Aloud by completing a Finch challenge related to the book. For more great books that you can use to make ELA connections, see our Suggested Reading List!

Each group of students chose one of two projects connected to The Wild Robot. The first project was to retell a favorite part of the book using Finch; this project was based on Finch Tales. Students worked together to make props, program the Finch, narrate the story, and videotape the project. The goal of this first project was to have students work together to discuss a story and to make a plan to retell part of the story in an interesting way – by using the Finch.

The second project was to use the setting of The Wild Robot to explain a variety of geographic features that Roz would have to maneuver on the island; this project was linked to the fourth grade social studies curriculum. Students programmed the Finch to make its way through different geographic features while they narrated its path. Students had to come up with a list of geographic features that were part of the story, make the props to show the features, program the Finch, and record a video.

“It was fun to be able to bring the idea of a robot in a book into the classroom by using real robots. The work was challenging but fun! The children persevered because they were invested in their projects.” – Maryann Molishus


Mood Ring Finch

A mood ring is a ring that changes color based on your body temperature. The idea behind the ring, which is explained in this video, is that your body temperature can be used to predict your mood. In this activity, you will use the Finch to predict mood in the same way!

Write a program that sets the color of the Finch’s beak based on temperature. The Finch should also tell you what your mood is for each color. The Finch should have at least three different moods, but you can add as many as you want!

To test the “mood Finch,” place your fingertip or palm over the temperature sensor.


Miniature Golf

In July 2017, Mike Jacobs and Stephanie Sytsema hosted a Hummingbird summer camp at Grandville Christian Elementary School. This project grew out of a weekly Tinker Tuesday program in which high school engineering students facilitate STEM activities with elementary students. Students and parents were hungry for more, so Jacobs and Sytsema created a week-long camp that was offered twice during the summer of 2017. In this camp, students used the Hummingbird to create a miniature golf course, complete with windmills and moving obstacles. On the last day, students’ families were invited to come and play this very challenging course! The proceeds from the first week of camp were used to cover the costs of the Hummingbirds, which are now available for future camps and classes in the elementary school.

Program Outline

  1. Day 1: Students are introduced to the Hummingbird and learn to write programs with the lights and motors.
  2. Day 2: Students learn to use sensors to make decisions in their programs.
  3. Day 3: Students jump into designing their robotic creations for the miniature golf course! Students are required to draw their designs and annotate their drawings before beginning to build.  Teachers emphasize how to troubleshoot and solve problems step-by-step as they are  building and programming.
  4. Day 4: Students work to complete their robots in preparation for the open house on Day 5.
  5. Day 5: After students set up the golf course, family members are invited to come and play. This event is BYOP–Bring Your Own Putter!


Human Body Systems

In 2017, year 3 students in Hong Kong used the Hummingbird to learn about human body systems. This six-week inquiry-based project was designed by Leigh Thomas at Renaissance College using Agency by Design resources from Project Zero of the Harvard Graduate School of Education. The purpose of this project was for students to study a body system in detail and create a representation that illustrated the function and importance of that system. Children needed a deep understanding of the body system that they were investigating in order to be able to extrapolate it and represent it in a meaningful way. Many children made connections to other human body systems as they explored their system and represented it. For example, the skeletal system group used the servo motors to show how the ribcage moved and connected this to the breathing in and out of the lungs and the movement of the diaphragm.

Lesson Procedures:

This project incorporates several Agency by Design resources from Project Zero of the Harvard Graduate School of Education.

  1. Prior to beginning the project, select which human body systems you would like your students to focus on. Possible systems include the following:
    • Circulatory System
    • Skeletal System
    • Respiratory System
    • Muscular System
    • Nervous System
  2. Explain the project to students. Each group will choose one of the human body systems and will construct a robotic diorama to represent that body system.
  3. Divide the students into groups of 3 or 4. Allow each group to choose a body system for their project based on their interest.
  4. Provide students with time to research their chosen body system. This is done in the first two weeks of the project with support from the teachers.
  5. Have each group complete the Parts, Purposes, and Complexities thinking routine about their body system. The students can use this step in the process to think deeply about the parts of their system, the purposes of each part, and how they work together to perform a complex function.
  6. Groups should create a sketch of how they plan to represent their body system using a robotic model.
  7. Groups should complete an initial prototype in 1-2 hours. They then use the Imagine If thinking routine to imagine how they can improve their prototype.
  8. Groups build and program their systems over a period of two weeks. At the beginning of each session, students should reflect on their work from the previous day and plan their next steps. They should document their process, either on paper or in a digital portfolio.
  9. Groups should use the Think, Feel, Care thinking routine regularly throughout the unit to think about one person in their group and reflect on how that person is feeling, what they are thinking, and what they care about. This helps students to think deeply about other children in their group in an empathetic way and alerts you to any subtle social issues that may need to be addressed.
  10. Once the allotted time for building and programming is complete, each group should present their work to the class and/or the larger school community.

Game Controller

Scratch and Snap! enable students to create physical devices with the Hummingbird that interact with programs that also display information on the computer screen. Students can be challenged to create their own video game, complete with controller! One example is shown here, but students will come up with many other creative ideas.

In this game, two Hummingbird sensors are used to control the movement of a cat sprite on the screen. The user moves the cat to try to catch a mouse that appears at random screen locations. Hummingbird Pong, which is included in the Birdbrain Scratch .zip file, is another example of a game in which a Hummingbird sensor is used to control a sprite on the screen.

This game uses a controller that consists of two Hummingbird rotary knobs. One knob controls the vertical movement of the cat sprite, and one controls the horizontal movement.

Math operators can be used to transform the output of a Hummingbird sensor into x– and y-coordinates on the Scratch screen. In the expressions below, the value of the rotary knob on port 1 (0 to 100) determines the x-coordinate of the sprite (-240 to 240). The value of the rotary knob on port 2 (0 to 100) determines the y-coordinate of the sprite (-180 to 180). These expressions are placed within a go to block in Scratch.

At the start of the game, the mouse appears in a random position. The play must use the rotary knobs to move the cat to touch the mouse. When this happens, the player scores a point, and the mouse moves randomly to a new position. If the user scores 20 points within 30 s, he or she wins the game.

This project could be extended to add more features to the controller! For example, LEDs on the controller could flash when the user scores a point. A student could also incorporate another sprite as the “villain.” Collisions with the villain could cause the player to lose points. Vibration motors could even be added to the controller to provide force feedback when a player gains or loses points.


Snap! Sprite Sizer

Hummingbird setup

  1. Connect the distance sensor to sensor port 1.
  2. Plug the Hummingbird into your computer.

Programming steps

  1. We are going to make the value of the distance sensor determine the size of the turtle (arrow) sprite. To change the sprite’s size, go to the “Looks” category and move a “set size to” block to your screen.
  2. Next, attach a distance sensor block to the size block.
  3. This resizing should occur repeatedly, so place a forever loop around the size block.
  4. Run the code by clicking the loop.
    The code works, but the arrow gets smaller when your hand is closer to the sensor. Real objects get larger when they are closer, so it would make more sense if we made the arrow get bigger when the distance sensor detected that the object was closer.
  5. Add a subtraction block that calculates 105 minus the current sensor reading. 5 is the minimum value the distance sensor can produce, so 105 minus the sensor’s value will produce a size of at most 100%.
  6. Run the code again. This time the arrow should get larger when the object is closer.
  7. Now let’s make the size change more noticeably by making the arrow three times larger. Add a multiplication block to do this.
  8. Run the program and the arrow should be much larger when your hand is close.

Angles with Hummingbird

Teacher Note: This is a short introductory activity designed to introduce students to the servo motor. Students construct a large protractor and investigate how to write a program that moves the servo motor to different angles. To save time, you could do this activity as a demonstration or have students use a photocopied image of a protractor. However, having students create the protractor reinforces Common Core math standards for measuring and constructing angles (4.MD.C and 4.G.A).

A servo motor is a motor that moves to a particular angle. The Hummingbird servo motor can rotate to any angle from 0° to 180°. In this activity, you will practice moving the servo motor to different angles.

Start by using a protractor to draw 13 angles from 0° to 180°, as shown in the picture below. Draw an angle every 15° from 0° to 180°. Make sure that 0° is on the left side of the paper.

Attached your motor to a small box to give it a stable base.

Next, use hot glue to attach your angle drawing to the back of the motor. Try to position the origin of the angles directly behind the screw in the center of the white disk.

Next, connect the servo motor to the Hummingbird. The servo motor plug should be placed on one of the four male servo connectors on the Hummingbird board. The black wire should be connected to the ‘-’ pin, the red wire to the ‘+,’ and the yellow wire to the ‘S.’ When using the servo motor, you must also use the AC power adapter (or a battery pack). Otherwise, the Hummingbird board will not have enough power to run the motor.

Set your servo motor to 90°. In Scratch or Snap!, you can use a script like the one shown below.

Glue a popsicle stick to the motor so that it is pointing to 90°.

Try writing scripts to move the motor to different angles. If you write a script with more than one angle, make sure to put a wait block between the HB servo blocks. If you omit the waitblock from the script below, the servo will not have time to move to 90° before the command to move to 30°.

The script below is supposed to move the servo motor repeatedly to two different angles, but there is a problem. Try out this script, and figure out how to correct it.

Write a script that repeatedly moves the motor to five different angles. Try adding some lights or music!



Students will be placed in groups of 4-5 and will choose a constellation to model. They will use at least 3 LEDs, 1 motor or servo motor, and 1 sensor. They will research the constellation and portray several facets of information that they have found. Students will keep a laboratory journal describing the astronomical attributes of the constellation (distance across in light years, type of stars, color of stars, age of stars, brightest to least brightest stars, when it appears in the Northern Hemisphere, etc.). The laboratory journal will also detail the design process of the group and any troubleshooting involved in the building/programming process. Students will write a report about the significance of the constellation with regards to mythology and history of ancient civilizations (did it signal planting season? what myths surround its form?). Students will portray the envisioned form of the constellation as seen by ancient civilizations (Orion is the hunter, etc.) and they will also show the position of stars in the constellation. Students will then input components (LEDs, motors, sensors, etc.) and program these components to significantly represent their constellation (intensity of one LED star as compared to another, the constellation moving on a servo to show its angled position at different times in night, etc.).

Lesson Procedures:

Procedures can be found in the PDF.

Snap! Rainbow LED

Hummingbird setup

  1. Connect the tri-color LED to port 1.
  2. (optional) Cover the LED with Styrofoam (or another translucent substance) to diffuse the light.

Programming steps

  1. Let’s begin with a “when space key pressed” block to launch our program. (It is in the “Control” category.) Drag the block to the middle of the screen.
  2. To make our program repeat, use a forever loop from the “Control” category.
  3. We need to keep track of how far along we are in the fading process as we fade the LED from one color to another. A variable will allow our program to do this. Click the “Variables” category and click “Make a Variable”.
  4. Name the variable “Count”.
  5. The count variable will start at 0 and increase as the LED fades. Add a “set variable to 0” block to the loop to do this. Then select “Count” from the drop down list.
  6. Add a repeat loop (from the “Control” category) under the set block and make it repeat 100 times.
  7. To know how many times the loop has repeated, add a “change Count by 1” block (from the “Variables” category) inside the repeat loop.
  8. Now we are ready to add a tri-color LED block from the “Looks” category. Place it above the “change Count by 1” block.

    We will start by fading from red to green. This means fading green on while fading red off.
  9. To fade the green LED on, the green part of the tri-color LED should start at 0 and increase to 100. This can be achieved by dragging a “Count” block (from the “Variables” category) into the tri-color LED block’s green section.
  10. Now to make the red LED fade off, set the red component to 100 minus the current value of the Count variable. Use a “-” block from the “Operators” category to do this.
  11. To go from green to blue, duplicate the set and repeat blocks.
  12. Rearrange the blocks to make the green fade out while the blue fades in. Set red to 0.
  13. Now do the same to fade from blue back to red.
  14. Press the space bar and the LED will fade through the spectrum!