1. Introduction

Note: Starting with serial number 0J5840, 3pi robots are shipping with the newer ATmega328P microcontroller instead of the ATmega168. The serial number is located on a white bar code sticker on the bottom of the 3pi PCB. The ATmega328 is essentially a drop-in replacement for the ATmega168 with twice the memory (32 KB flash, 2 KB RAM, and 1 KB of EEPROM), so the 3pi code written for the ATmega168 should work with minimal modification on the ATmega328 (the Pololu AVR Library now supports the ATmega328P).

The Pololu 3pi robot is a small, high-performance, autonomous robot designed to excel in line-following and line-maze-solving competitions. Powered by four AAA batteries (not included) and a unique power system that runs the motors at a regulated 9.25 V, 3pi is capable of speeds up to 100 cm/second while making precise turns and spins that don’t vary with the battery voltage. This results in highly consistent and repeatable performance of well-tuned code even as the batteries run low. The robot comes fully assembled with two micro metal gearmotors, five reflectance sensors, an 8×2 character LCD, a buzzer, three user pushbuttons, and more, all connected to a user-programmable AVR microcontroller. The 3pi measures approximately 3.7 inches (9.5 cm) in diameter and weighs 2.9 oz (83 g) without batteries.

The 3pi is based on an Atmel ATmega168 or ATmega328 microcontroller, henceforth referred to as the “ATmegaxx8”, running at 20 MHz. ATmega168-based 3pi robots feature 16 KB of flash program memory and 1 KB RAM, and 512 bytes of persistent EEPROM memory; ATmega328-based 3pi robots feature 32 KB of flash program memory, 2 KB RAM, and 1 KB of persistent EEPROM memory. The use of the ATmegaxx8 microcontroller makes the 3pi compatible with the popular Arduino development platform. Free C and C++ development tools are also available, and an extensive set of libraries make it a breeze to interface with all of the integrated hardware. Sample programs are available to show how to use the various 3pi components, as well as how to perform more complex behaviors such as line following and maze solving.

Please note that an external AVR ISP programmer, such as our USB AVR Programmer is required to program the 3pi robot.

For a Spanish version of this document, please see Pololu 3pi Robot Guia Usuario (3MB pdf) (provided by customer Jaume B.).