It's not always easy to figure out why a robotic system isn't doing what's expected! The following is a set of general procedures that may help you debug your Hummingbird-based robot or electronics project. They are arranged in the order that they typically come up for us when helping train students and teachers who have no Hummingbird experience.
Check that Hummingbird is Connected
Make sure your Hummingbird is connected via USB to the computer. If the Hummingbird is in tethered mode, ensure that software such as the BirdBrain Robot Server or CREATE Lab Visual Programmer identifies the Hummingbird. Once the software identifies the Hummingbird and connects to it, the green status LED will turn solidly on; if it is not connected it will fade on and off. If the Status LED is off or blinking, your Hummingbird is in Arduino mode and will need to be reverted to tethered mode before you can use it with the BirdBrain Robot Server or CREATE Lab Visual Programmer.
If the Hummingbird is in tethered mode and connects to BirdBrain's programming software, go to the next troubleshooting step. If the Hummingbird is not connecting to your computer, contact us for help.
Check Hummingbird Component Connections
Make sure that you have connected all of the components you are using to the Hummingbird correctly. Common mistakes include connecting an LED or servo backwards, or connecting components that should go in one port to another port - connecting LEDs to the sensor ports, for example. Review the Connecting Electronics tutorial and double check that all is as it should be. Similarly, in the programs you create, ensure that your code is set to the right ports: a program that turns on an LED on port 1 will not do anything on a Hummingbird that only has an LED connected to LED port 2.
If Motors or Servos do not Work, Check Motor Power
If your project uses gear motors or servos, you must plug in motor power. Ensure that power is plugged into the barrel jack on the left side of the board, and that the orange LED indicator light is on.
Perform a Software Reset
If your program was working but seems to no longer run, or if your computer went to sleep and your program no longer responds, try resetting the software using the following procedure:
- Save your work.
- Close the programming software you're using. Note that you do not typically need to close Scratch or Snap!, but you will need to quit out of the BirdBrain Robot Server or the CREATE Lab Visual Programmer.
- Disconnect the Hummingbird from USB AND from Motor Power.
- Reconnect the Hummingbird to USB and then to Motor Power.
- Reopen the BirdBrain Robot Server or CREATE Lab Visual Programmer
- Re-run your program. If it works, then the issue was probably a software glitch. If it does not work, move to the next troubleshooting step:
Run an Example Program
If your program does not appear to be working, try running an example program that uses the part or parts you are currently using. For example, if a servo does not seem to be working with your Scratch program, run an example such as SlowMotionServo or DimmerLEDAndServo. In Scratch and Snap!, you may also simply click on the Hummingbird blocks to cause actions. We do not distribute example programs for the CREATE Lab Visual Programmer, but you can use the Expression builder interface to test any attached outputs, and you can use the Sensor structure in the sequence block to test a sensor. If our examples do not seem to work, move to the next troubleshooting step.
It is possible that you have either a non-functional component or a broken port on your Hummingbird. To test if a part is not functioning, place a replacement component in the same port and then run either your program or an example program to see if it works. With the exception of the sensors, Hummingbird kits come with at least two of each component type. If testing a sensor, you may need to use a different sensor type, but you can still observe if the new sensor is behaving properly. If the replacement parts also do not work, you may have a broken port. To verify that the component works, place it in a different port and then program that port to turn on the output or read from the sensor. If you have a broken component or broken port on your Hummingbird, please contact us to see if it can be replaced under our warranty.