Ch is a C/C++ interpreter and scripting language environment used by teachers, students, engineers and scientists around the world to learn math, numerical computing, C/C++, and write cross-platform code and embedded scripts quickly and efficiently. It is an alternative solution to C/C++ compiler.

Ch can be used here to access either the C library or C++ library for the Finch. Users can easily program the Finch in C or C++ without the need to compile each program. To run a Ch Finch package, you must download and install Ch first. See section on More About Ch for information and links to download.

The Finch Ch packages are brought to you by Nathan Wong at IEL, UC Davis.


Software Package Windows Mac OSX Linux
Source only - C x32 or x64 Download Download
Source only - C++ x32 or x64 Download Download
Compiled - C Download Download Download
Compiled - C++ Download Download Download


The Ch packages were created to wrap the current Finch C and C++ libraries, so that the same Finch API is used depending on if you are programming in C or C++. Functions are covered in the C API Documentation or C++ API Documentation.

After you have downloaded the Finch Ch package, follow the various instructions for running programs.

Important Files and Folders

The following files and folders are common to all Ch downloads:

Finch.c (or Finch.cpp) and Finch.h - The Finch class source and header files.

Finch.chf - The function file used for calling C or C++ functions from Ch.

Finch_chdl.c (or Finch_chdl.cpp) - File in C or C++ space used for accessing C or C++ functions called from Ch.

hipapi.h - The header file for HIDAPI, the third-party cross-platform class used to communicate over USB.

hidapi.dll and .lib (Windows x32), hid.c (Windows x64), libhidapi.dylib (Mac), libhidapi32/ (Linux) - Contains the HIDAPI library. (for C) - A program in C which tests all of the Finch class functions and provides access to them with a simple command line interface. (for C) - A starter program in C that has the Finch perform a simple dance. (for C) - A demo program in C that detects obstacles in front of the Finch. (for Cpp) - A progam in C++ which tests all of the Finch class functions and provides access to them with a simple command line interface. (for Cpp) - A skeleton main file containing all that is necessary to begin writing a Finch C++ program.

License.txt - Licensing information for the Finch Ch package.

More About Ch

Ch: The Simplest Possible Computing in C/C++

from SoftIntegration

  •  A C/C++ interpreter with interactive capabilities
  • Easy to master by instructors and students
  • Ideal for classroom use, making beginners’ learning experiences more enjoyable and fostering students’ interest in STEM disciplines
  • Aids learning the most widely used programming language, C/C++, in both industry and colleges and prepares students to be career and college ready
  • Can be used for controlling robotics and learning programming and STEM subjects
  •  Supports easy graphical plotting and quick animation capabilities
  • Has a user-friendly development environment (ChIDE) with syntax highlighting and debuggin capabilities
  • Supports most C++ features for object-based programming
  • Runs in Windows, Mac OS X, and Linux

SoftIntegration offers a free Standard Version and a free Student Version. Both these editions can run the Ch Finch packages.


Version Information

Version 1.0 of the Finch Ch packages are now available and have been successfully tested on Windows XP 32-bit, Windows 7 64-bit, Mac OS 10.6, and 32-bit Ubuntu 10.04.

Revision history:

Version 1.0 (7/1/2014) - First release.