Our mission at BirdBrain Technologies is to inspire deep and joyful learning in all students through creative robotics. We are excited that you are joining us in making robotics accessible to all students through this course!

Before we begin to program our Finch Robot*, it may be helpful to ask yourself…

What is a robot?

We define a robot as a machine that senses its environment, thinks about it, and then reacts. Can you think of some sensing, thinking, acting machines that you have interacted with today?

*Please note that this course is for the Finch Robot 2.0. Email support@birdbraintechnologies.com with questions.

No troubleshooting available for this section

Set Up Your Finch with MakeCode

MakeCode is a block-based coding language developed by Microsoft. There are three important advantages to using MakeCode, and two significant disadvantages.


  • Code downloads to the Finch robot, and so it runs without an active connection to a computer or tablet.
  • MakeCode features an excellent blocks to text transition system. You can switch to Javascript or Python, edit the code, and switch back to blocks.
  • MakeCode is browser-based and does not require installation of any software.


  • MakeCode code must be downloaded for you to see it running. You cannot click on individual blocks or scripts to see what they will do. This lack of live coding makes MakeCode slightly more challenging for absolute beginners.
  • Other blocks coding environments, such as Snap!, include a canvas for creating animations or games. In Snap! you can use the robot’s sensors as inputs to such games, or use computer sensors like video or speech to control the robot. This is not possible with MakeCode.

Moving and Turning

You can program the Finch to move a given distance or turn a certain number of degrees. Use move and turn blocks to draw a square or other shape!

No troubleshooting available for this section

Controlling Wheels

Sometimes you want to control the speed of the Finch’s wheels independently, without telling the Finch to stop after it has traveled a given distance. This video covers controlling the Finch’s wheels directly using the Finch Wheels and Finch Stop blocks.

No troubleshooting available for this section

Finch Movement Activities and CT Concepts

In this video we dive deep into one Finch activity, Finch Jousting, and describe how it supports two computational thinking concepts, Algorithms and Evaluation.

No troubleshooting available for this section

Drawing With the Finch Pen Mount

This video shows how to insert a marker into the Finch pen mount and how to use it to draw shapes.

No troubleshooting available for this section

Drawing Shapes, Decomposition, and Evaluation

In this video we discuss how drawing shapes with Finch links to the Computational Thinking concepts of decomposition and evaluation.

No troubleshooting available for this section

Finch LEDs

The Finch is tricked out with full-color LEDs in the beak and tail. Learn some color theory and how to program the Finch to light up and blink.

No troubleshooting available for this section

Finch LEDs and Computational Thinking

In this video we discuss algorithms, decomposition, and evaluation, and how these skills are used in the Finch parade float activity.

No troubleshooting available for this section

Making Sounds With Your Finch

Your Finch has a built-in multi-tonal buzzer, which you can use to create many simple songs or 1980s video game sound effects.

No troubleshooting available for this section

Pattern Recognition and Finch Music

In this video, we show how to do pattern recognition with the Finch’s buzzer and suggest some activities to practice pattern recognition.

No troubleshooting available for this section

Sensors Overview

The Finch has six different types of sensors: distance, light, line, accelerometer, compass, and buttons. Learn how to view sensor values and experiment with your Finch to see how small or large a value you can get each sensor to report.

No troubleshooting available for this section

Using Buttons and the Orientation Block

Some Finch sensors are Boolean, meaning they only return true or false. Learn how to use these sensors to set your Finch’s outputs using control blocks such as when key pressed and if-else.

No troubleshooting available for this section

Activities With True/False Sensors

We show our code that solves the challenge from the previous video and use it to play twinkle twinkle little star by tilting and rolling our Finch. We then dive deep into the Gameshow host Finch activity, and demonstrate how decomposition is used in the creation of the solution to that activity.

No troubleshooting available for this section

Using Sensors to Directly Control Outputs

Sensors that return a number value can be used to directly set outputs. For example, you can use the value of the light sensor as a dimmer for the LED, where the LED gets brighter in proportion to increasing light falling on a light sensor. Using arithmetic blocks, you can also scale the sensor values to outputs in more complex ways.

No troubleshooting available for this section

Direct Control Activities

Use your Finch accelerometer to directly control the buzzer, and learn about other fun direct control activities.

No troubleshooting available for this section

Using Conditional Statements With Sensor Thresholds

You can use conditional statements such as if-else or when key pressed with sensors that return number data. To do this, you’ll need to use comparison blocks like less than or greater than, as well as thresholds. This allows you to make programs that follow lines or avoid obstacles.

No troubleshooting available for this section

Conditional Statements Activities, and Abstraction

We dive deep into two solutions to the challenge posed in the previous video, and also discuss an activity, vampire Finch, that uses conditional statements to have your Finch avoid the light. We highlight how these activities naturally introduce the CT concepts of decomposition and abstraction.

No troubleshooting available for this section

Going Further With Your Finch

Congratulations on completing this course! You now have the foundational knowledge and skills required to follow our Going Further tutorials to explore Computer Science concepts like Variables, Randomness, and Modularity.

No troubleshooting available for this section

Makecode in Remote Learning Environments

This video explores two tools, MakeCode link sharing, and micro:bit classroom, that facilitate teacher-student and student-student collaboration online. These tools are very helpful for two scenarios in which your students are in a different physical location from you or each other:
1. 1:1 Robotics, where your students all have robots at their location.
2. Remote Robots, where you have a robot, your students do not, and you want your students to program your robot.

No troubleshooting available for this section

Thank You For Joining Us!

We hope that you and your students enjoy the Finch Robot 2.0!

Follow exciting developments in the Finch world on social media or by signing up to our mailing list, and email us if there is anything we can do to help you use the Finches. We would love to share your projects and work with the Finch community, so please tag anything cool you or your students do with #FinchRobot2.

Follow Us:

No resources available for this section

No troubleshooting available for this section