We initially designed the Finch to work in courses in which Java was the predominant programming language.  In addition to fully supporting the Finch, the Java software package uses a number of third-party libraries to tap into the native functionality of the computer – these include speech synthesis, using video data from attached webcams, grabbing information from the internet, and playing audio files on the computer’s speakers.  Together with the Finch’s rich set of sensors and outputs, these libraries allow students to build truly interactive programs.

Download & Install

Click on the link corresponding with your operating system to download Java:

Generic*: Windows, Mac OSX, Linux (Ubuntu)

Netbeans Project: Windows, Mac OSX, Linux (Ubuntu)

JCreator Project: Windows

BlueJ: Windows, Mac OSX, Linux (Ubuntu)

Eclipse: Windows, Mac OSX, Linux (Ubuntu)

Greenfoot: Windows, MacOSX, Linux (Ubuntu)

Important Notes: Generic should work with any IDE, but you will need to create a project in that IDE and properly link the finch.jar file. If you choose to use Linux, we recommend using Ubuntu with our robots. You are welcome to use another version of Linux, but we are only able to provide technical support for Ubuntu.

Video Tutorial

Watch a 7 minute screencast on how to run example programs and write your own Finch programs below. We recommend selecting high definition and full-screen viewing.


Javadocs are available online and are also included with every download of the Finch Java software package.  The docs cover the methods used to control the Finch, read Finch sensor data, read data from RSS feeds, grab image data from webcams, and control computer speakers.

We also provide tutorials of how to compile, create, and run programs for the Finch in several different IDEs:

IDE & OS Support

The Finch works in any Java IDE and on Windows (XP, Vista, 7, 8, and 10), Mac OS 10.5 and above, and most versions of Linux.

Example files

The software package includes a number of example files demonstrating how the Finch can be used to demonstrate CS concepts like looping, variables, etc.  The examples range from very simple to quite complex, and many were written by students.  We suggest that you run several of these examples to get an idea for the types of programs that can be written using a Finch.

Structure of the Software Package

The software package folder has three top-level folders:

SourceFiles – Location of the finch.jar library, examples (in the “Code” subfolder), and libraries for webcam support

Javadocs – Location of the documentation

Licenses – Licensing information for the download and for third-party libraries

In the case of IDE-specific downloads, additional folders may exist containing data for the IDE project files.

Known Issues and Troubleshooting

LTI-Civil, the third-party library used to grab image data from webcams, does not work in a 64-bit OS.

The Finch is not compatible with Java 5 or earlier versions of Java.

Issue: You run a correctly compiled program and it hangs after “Connecting to Finch”.  The LED stays in color fading mode.

Possible Causes:

  • The Finch is already connected to another program. For example, if the Finch is connected to the Birdbrain Robot Server, Java will not be able to connect to it.
  • On a Mac, you must search for the libhidapi64.dylib and libhidapi32.dylib libraries and copy them into the Mac’s /usr/local/lib directory. To find this directory, select Go/Go to Folder in the Finder. If the directory does not exist, you can create it in Terminal with the following command: sudo mkdir /usr/local/lib
  • The computer went to sleep when the Finch was plugged in and did not properly register Finch upon wakeup. Unplugging the Finch and plugging it back in will solve the issue.

Issue: Text to speech or playing tones doesn’t work.

Possible Cause: The Finch class uses the computer speakers to play synthesized speech, wav files, and tones.  Make sure your computer speakers are turned on.