1. Introduction

This document is a guide to using the Pololu AVR C/C++ library, including installation instructions, tutorials, and example programs. The Pololu AVR Library makes it easy for you to get started with the following Pololu products:

Pololu 3pi robot: a mega168-based robot controller. The 3pi robot essentially contains an LV-168 and a 5-sensor version of the QTR-8RC, both of which are in the list below.
Pololu Baby Orangutan B-48: a compact, complete robot controller based on the mega48. The B-48 packs a voltage regulator, processor, and a two-channel motor-driver into a 24-pin DIP format.
Pololu Baby Orangutan B-168: a mega168 version of the above. The mega168 is a more powerful processor, with more memory for your programs.
Pololu Orangutan LV-168: a full-featured, mega168-based robot controller that includes an LCD display. The LV-168 runs on an input voltage of 2-5V, allowing two or three batteries to power a robot.
Pololu QTR-1A and QTR-8A reflectance sensors (analog): an analog sensor containing IR/phototransistor pairs that allows a robot to detect the difference between shades of color. The QTR sensors can be used for following lines on the floor, for obstacle or drop-off (stairway) detection, and for various other applications.
Pololu QTR-1RC and QTR-8RC reflectance sensors (RC): a version of the above that is read using digital inputs; this is compatible with the Parallax QTI sensors.

Note that the library is designed for Atmel’s mega168 and mega48-based boards like the Orangutans: to use it with the QTR sensors, your controller must be either an Orangutan or another board built with one of these processors.

This document covers the C/C++ version of the library, but it may also be used with Arduino: a popular, beginner-friendly programming environment for the mega168, using simplified C++ code. See our guide to using Arduino with Orangutan controllers for more information.

For detailed information about all of the functions available in the library, see the command reference.