The 3pi robot is designed to excel in line-following and maze-solving competitions. It has a small size (9.5 cm/3.7" diameter, 83 g/2.9 oz without batteries) and takes just four AAA cells (not included), while a unique power system runs the motors at a constant 9.25 V independent of the battery charge level. The regulated voltage allows the 3pi to reach speeds up to 100 cm/second while making precise turns and spins that don’t vary with the battery voltage.
The 3pi robot makes a great platform for people with C programming experience to learn robotics, and it is a fun environment for ambitious beginners to learn C programming. At its heart is an Atmel ATmega328P microcontroller running at 20 MHz and featuring 32 KB of flash program memory, 2 KB RAM, and 1 KB of persistent EEPROM memory. The popular, free GNU C/C++ compiler works perfectly with the 3pi, Atmel Studio provides a comfortable development environment, and an extensive set of libraries provided by Pololu makes it a breeze to interface with all of the integrated hardware. The 3pi is also compatible with the popular Arduino development platform. We provide a number of sample programs 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.
For instructions on setting up and programming the 3pi, including sample code, contest ideas, and more, see the 3pi User’s Guide.
An external AVR ISP programmer, such as Pololu's USB AVR programmer is required to program the 3pi.
The 3pi is powered by 4 AAA batteries, which are not included. We recommend rechargeable NiMH cells
Checkout Pololu's 3Pi Video Gallery.
Note: The 3pi robot currently ships with an LCD with a black bezel as shown in the main product picture, not the silver-bezeled LCD shown in some of the product photos and videos.
- Processor: ATmega168/328P
- Motor driver: TB6612FNG
- Motor channels: 2
- User I/O lines: 21
- Minimum operating voltage: 3 V2
- Maximum operating voltage: 7 V2
- Maximum PWM frequency: 80 kHz
- Reverse voltage protection?: Y
- External programmer required?: Y
- Digital I/O lines PD0 and PD1 are available; two more analog inputs and one analog/digital pin can be made available by removing jumpers and disabling special features of the board.
- Designed for use with 4 x AAA NiMH or Alkaline cells. A step-up regulator boosts the motor voltage to 9.25 V.
Pololu 3pi Forum Section
The 3pi discussion section of the Pololu Robotics Forum.
Tabletop Robotics 3pi Projects
A series of interesting, customer-created open source projects for the 3pi robot, including barcode reading, grid navigation, and remote control.
Simple 3pi Projects for the Arduino IDE
These customer-written projects are intended to introduce the novice user to all the components on the 3pi robot and how they can be used while programming with the Arduino IDE. Each project builds on the one before it and comments within the programs are used to provide background information when new items are introduced. By Daniel J. Sullivan, August 2011.
Atmel’s product page for the ATmega328P.
AVR Libc Home Page
The web site for AVR Libc, which is the standard library of functions that you may use with C on the AVR.
AVR community with forums, projects, and AVR news.
GCC, the GNU Compiler Collection
Documentation for GCC, including the AVR GCC C/C++ compilers.
A free, open-source suite of development tools for the AVR family of microcontrollers, including the GNU GCC compiler for C/C++.
AVR Studio 4
The older version of Atmel’s free integrated development environment (IDE) for AVRs, which is no longer supported by Atmel.
Pololu 3pi: the 10,000 Mile Review
Review of the 3pi robot written by R. Steven Rainwater, founding editor of Robots.net.
Tutorial: AVR Programming on the Mac
Customer Michael Shimniok has written a guide to programming AVRs (the Orangutan LV-168, specifically) using the Mac.
Otimização Do Algoritmo De Maze Solver Para O Robô Pololu 3pi
A paper (in Portuguese) describing the Pololu 3pi robot in general, and, specifically, how to write optimized maze solving code. By Ana Paula, December 2010.