UPDATE – New bluetooth iPad app.
We love the Hummingbird Robot Kit at Constructing Modern Knowledge. The Hummingbird kit contains everything you need to built super cool robots, complete with motors, lights, and sensors out of recycled materials. The electronics just work when you plug components into the clearly labeled ports. There is no need to understand shields, resistors, or complex circuits.
Best of all, Hummingbird robots can be programmed with Scratch or Snap! Not only are these languages designed for learning computer science and embraced by children, but the screen and outside world may now join forces. For example, control your robot from the screen or build a game controller via the Hummingbird. The Hummingbird’s Birdbrain Robot Server control panel automatically installs new primitives (commands and reporters) into either Scratch 2.0 or Snap! in the browser. No tricky libraries are required. The software you know and love just gains new blocks. Both languages are dialects of Logo.
There is a great deal of useful information on the Hummingbird Robot Kit web site, but we find that the answers to the questions people ask as they get started are a bit scattered. Therefore, we’re sharing the resources most useful in our workshops and summer institute.
- Download a PDF Quickstart summary of this page
- Connecting Electronics Comic (pdf)
- Build Your First Bot Comic (pdf)
The Software You Need
The Hummingbird Robot Kit may be programmed with a variety of languages. We’ll just focus on two, Scratch and Snap!
Step 1: Choose your programming language software
Scratch and Snap! have similar learning curves and capabilities when used with the Hummingbird Kit. Both are descendants of the Logo programming language, both are block-based, and either one will give you and your students a very good experience. If your students already know Scratch, they can program in Snap!.
Currently, the biggest difference is that Snap! runs in the browser and Scratch must be downloaded and run offline. If you can, we recommend running Snap! because of current issues with stability and bugs in the Scratch application.
Snap! is a browser-based version of Scratch with the addition of first-class objects and the ability to define new blocks. It is the core of UC Berkeley’s Beauty and Joy of Computing course and the federal grant to bring the course to 100 New York City Public Schools. Snap! works almost exactly the same as Scratch when programming the Hummingbird, but launches in the Web browser rather than requiring the installation of the Scratch offline editor. It is currently more stable than Scratch when working with the Hummingbird. The only disadvantage of using Snap! is that it doesn’t give students access to the 8+ million Scratch projects shared on the Scratch web site. (Check this link for known minor issues with Snap!)
If you wish to use Scratch with the Hummingbird kit, you cannot currently use the Web-based version. Therefore, you need to download the offline version. Be sure to read this link to learn about the various idiosyncrasies and bugs when programming the Hummingbird in Scratch.
Step 2: Install the Birdbrain Robot Server
This software control panel launches your programming language of choice and installs the new functionality required for robotics control. You need this on your computer in order to program in Scratch or Snap!.
(Mac Maverick users – you MUST follow the directions about disabling the App Nap feature on the Birdbrain Robot Server or you will experience slow sensor readings.)
Where are the blocks I need to program the Hummingbird?
Snap! installs Hummingbird blocks at the bottom of several tool palettes (motion, looks, sensors).
In Scratch, the Hummingbird blocks are found under the MORE BLOCKS scripts tab.
Information You Need
Scratch: Example Scratch programs for Hummingbird sensors and inputs.
Snap! – Sample Snap! projects for the Hummingbird kit
Other software options
There are other software options for the Hummingbird, including Python, Processing, and Java, plus several Arduino languages. Some of these options allow for untethered use of the Hummingbird. Other software options.
Hummingbird Sensors and Motors
How to Connect Hummingbird Sensors
What the Hummingbird sensors and motors look like
What do the different motors do?
- Servo motors move to a specified position and stay there until the next command
- Gear motors spin at a specified speed until told to stop
- Vibration motors vibrate at a specified intensity until told to stop
Hummingbird Projects from Constructing Modern Knowledge
Known Issues and Troubleshooting in Snap!
- In Mac OS 10.9 the sensor values may update very slowly. This is caused by App Nap putting the BirdBrain Robot Server to sleep, make sure you have the latest version of the software and follow the instructions in the Installation section for disabling App Nap. (If you are using a version of the BirdBrain server downloaded before May 2017, you should update to the latest version.)
- If the Hummingbird seems to stop responding for any reason, there is no need to close the Snap! browser window. Close the BirdBrain Robot Server application instead and re-open it.
Known Issues and Troubleshooting in Scratch
- The Green flag should not be used to start programs – once it is used once and that program is stopped, Scratch doesn’t seem to allow it to be used again. Use when space pressed or when sprite clicked.
- Loops with just Finch/Hummingbird command blocks seem to run just once instead of looping. Add a non Finch/Hummingbird block into the loop to make the loop work (a good dummy block is a “Wait 0”).
- In Mac OS 10.9/10.10 the sensor values may update very slowly. This is caused by App Nap putting the BirdBrain Robot Server to sleep, make sure you have the latest versions of all the software and follow the instructions in the Installation section for disabling App Nap. (If you are using a version of the BirdBrain server downloaded before May 2017, you should update to the latest version.)
- If the robot seems to stop responding for any reason, there is no need to close Scratch. Close the BirdBrain Robot Server application instead and re-open it.
- In Mac/Linux, the Hummingbird board must be plugged in before starting the BirdBrain Robot Server.