Recommended SoftwareCREATE Lab Visual ProgrammerSnap!ScratchBirdBloxArdublockArduinoPython

Other Software Available: Java, Processing, App Inventor

The Hummingbird works in Windows, Mac, and Chrome OS with a wide range of different programming environments and languages, and some Linux support is available as well. Support for iOS is provided via the BirdBlox app.

Graphical Environments

Visual Programmer (Age 8+)

The CREATE Lab visual programmer was designed for use with the Hummingbird and is an excellent starting environment for the novice programmer. We recommend it as the starting point for younger kids, especially those with no prior experience programming. It is very easy and quick to create a moderately complex program or behavior. Additionally, it is possible to export programs created with Visual Programmer into Arduino code that can be downloaded to the Hummingbird Duo controller. Please note that Visual Programmer does not work on a Chromebook. More About Visual Programmer »

Scratch (Age 10+)

Scratch is a tile-based visual programming language, which is an excellent first language for children to learn. We are providing a helper app that allows you to use Scratch 2.0 with Finch and Hummingbird. Note that Scratch only works in tethered mode - USB must be connected to the Hummingbird Duo for the program to run. More About Scratch »

Snap! (Age 10+)

Snap! adds recursion and the ability to make custom blocks to the Scratch drag and drop programming environment. Snap! has a slightly longer learning curve than the Visual Programmer, but also allows for more complicated programming. It's appropriate for novices and intermediate programmers. Like Scratch, the Hummingbird must be connected to the computer via USB to run Snap! programs. More About Snap! »

BirdBlox (Age 8+)

BirdBlox is a block-based programming app that is compatible with iOS. It is based on Scratch and Snap! and is appropriate for novice programmers. Please note that BirdBlox communicates with the Hummingbird via bluetooth and requires a Hummingbird BLE adapter. More About BirdBlox »

Ardublock (Age 12+)

Ardublock is a Scratch-like blocks environment that is built on top of the Arduino environment. Programs created in Ardublock export to Arduino code and can download directly to the Hummingbird Duo, allowing the Duo to run untethered from the computer. Ardublock functions as a great bridge between between Scratch-like programming and Arduino coding. More about Ardublock »

Programming Languages

Hummingbird can also be programmed in a number of text programming languages. With the exception of the Arduino programming language, our support for these languages requires the Hummingbird to be plugged into a computer for the program to run.

Arduino Programming Language (Age 13+)

The Arduino programming language is the main language used to program Arduino and Arduino-based microcontroller boards like Hummingbird Duo. The language is a simplified version of the Java programming language applied to the specific needs of creating programs for microcontrollers. It is much easier than Java to get started with, and due to the code converters built into the CREATE Lab Visual Programmer and Ardublock, it is even possible to start by composing a program in a graphical environment as a starting point. More about Arduino »

Python (Age 13+)

Python is a favorite first programming language among Computer Science educators for several reasons: Python's syntax is relatively easy to learn, Python is used widely in real software development, and Python has a large suite of libraries so that students aren't re-inventing the wheel and can quickly build interesting applications. More About Python »

Raspberry Pi (Age 14+)

Raspberry Pi isn't a software environment or language, it's a $35 computer! You can use it with the Hummingbird with some of our specialized software, allowing you to program Hummingbird with Raspberry Pi with Java, Python, or even Snap! More About Raspberry Pi »

Processing (Age 14+)

Processing is an open source programming language and environment for people who want to create images, animations, and interactions. Processing greatly simplifies and enhances 2- and 3-D image manipulation, audio, and video. Processing is built on top of Java, making an eventual transition to writing code in Java fairly painless. More About Processing »

Java (Age 16+)

Java is one of the most-used programming languages in the software industry today, and is also the language of AP Computer Science and many college introductory courses. Our Java API allows students to use Java to directly read sensors and set motors and LEDs on the Hummingbird. More About Java »