
1. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Configurations and included components . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2. What you will need . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.3. Supported operating systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2. Contacting Pololu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3. Assembling the 3pi+ 32U4 kit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4. Using the preloaded demo program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
5. The 3pi+ 32U4 in detail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
5.1. Microcontroller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.2. User interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.3. Motors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
5.4. Quadrature encoders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
5.5. Line and bump sensors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
5.6. Inertial sensors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
5.7. Power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
5.8. Expansion headers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
5.9. Pin assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
5.10. Adding electronics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
5.11. AVR timers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
5.12. Schematics and dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
6. Programming the 3pi+ 32U4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
6.1. Installing Windows drivers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
6.2. Programming using the Arduino IDE . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
6.3. Programming using avr-gcc and AVRDUDE . . . . . . . . . . . . . . . . . . . . . . . 72
7. Pololu3piPlus32U4 Arduino library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
8. The 3pi+ 32U4 USB interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
9. The A-Star 32U4 Bootloader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
10. Reviving an unresponsive 3pi+ 32U4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
10.1. Reviving using the Arduino IDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
10.2. Reviving using AVRDUDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
11. Related resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Pololu 3pi+ 32U4 User’s uide © 2001–2022 Pololu Corporation
Page 2 of 86