Overview
Base platform
The CMUcam3 is described by its creators as an «open source programmable embedded colour vision platform». Unlike its predecessors, the CMUcam2 and CMUcam1, the CMUcam3 is fully programmable. Programs are compiled on a PC using GCC and are flashed onto the the CMUcam3 using a serial cable.
Without a program flashed to it, the CMUcam3 has no functionality. The software development kit includes library functions and several sample projects, with full source code. Relevant projects include:
- CMUcam2 emulation, which emulates the black-box functionality of the CMUcam2;
- spoonBot, which moves servos so that the spoonBot can pan and tilt; and
- viola-jones, which is a face detector.
The CMUcam3 is put in programming mode by holding down the ISP button while turning the board on. After a program is flashed, it can be run by restarting the board.
The CMUcam3 includes four servo ports, which can also be used general purpose digital outputs.
While the CMUcam3 is able to power the servos from its own power supply, which is called internal, using more than one at once may require an additional power supply, which is called external. Internal power is put through a regulator but external is not.
Software development
Programs for the CMUcam3 can be developed on Windows, Mac OS X and GNU/Linux. In all cases the following is required:
- the libraries provided in the cc3 project,
- the compiler, and
- firmware downloader.
Development on Windows also requires Cygwin, a GNU/Linux emulation environment. All of these can be downloaded from hyperlinks on the CMUcam3 Software page.
Deployment options
The CMUcam3 can be used in several ways, including:
- independently, the CMUcam3 running the show;
- with another microcontroller;
- with a PC:
- sending information—either a string or an image—over the serial port,
- receiving information over the serial port, or
- both sending and receiving information over the serial port;
The CMUcam3 is also able to be used wirelessly. In all cases a PC is used for development.