The Pololu m3pi robot consists of a 3pi robot base with a fully assembled m3pi expansion board as its second level. This expansion board enables the use of a powerful 32-bit mbed development board as the robot’s high-level controller, which offers significantly more processing power and free I/O lines than the 3pi’s built-in 8-bit AVR microcontroller. There are also sockets for Wixel and XBee wireless serial modules as well as prototyping space for additional sensors and electronics.
Overview
The m3pi robot is a fully-assembled, upgraded version of our popular 3pi robot. It consists of a 3pi robot base connected to an assembled m3pi expansion board that simplifies augmenting your robot’s capabilities with an mbed development board (or other microcontroller boards), wireless modules, and sensors.
Since the m3pi robot is an expansion of the 3pi robot, it also has all the features of the 3pi robot:
- Max speed of around 100 cm/second
- Regulated motor voltage (performance is unaffected by battery voltage)
- 5 reflectance sensors on underside of leading edge for line following and maze solving
- 8×2 character LCD for debugging, feedback, and user interfaces
- Piezo buzzer for simple sounds and music
Please see the 3pi robot product page for a more comprehensive description the 3pi’s features and 3pi resources (user’s guide, projects, videos, etc).
Using the m3pi
While the m3pi’s abilities can be enhanced through the addition of a number of hardware modules, the robot is fully operational as it ships and can be used just as a 3pi robot with an expansion board (in which case you will need an AVR programmer). Alternatively, you can leave the default serial slave program on the 3pi base and use an mbed (or your favorite microcontroller board) as the high-level m3pi controller by using it to send serial commands to the 3pi base. Wireless functionality can be added via the XBee or Wixel sockets, and you can use the expansion board’s prototyping space for sensors or custom circuits. The m3pi is powered by four AAA batteries (not included). We recommend rechargeable batteries. For more information on additional components that you might want for your m3pi, please see the Other Things You Might Need section of the m3pi user’s guide.
mbed
The key feature of the m3pi expansion board is that it enables the use of one of ARM’s powerful 32-bit mbed development boards as the robot’s high-level controller, offering significantly more processing power and free I/O lines than the 3pi’s built-in 8-bit AVR microcontroller. The base 3pi robot ships preprogrammed to serve as a serial slave, so all you need to get started is an mbed controller (sold separately or as part of a combination deal that includes an mbed NXP LPC1768 with the m3pi robot). The mbed plugs directly into a socket on the expansion board (no soldering is required) and connects to all of the hardware on the m3pi expansion board as well as the serial lines of the 3pi base. Library support and sample programs for the m3pi are available from mbed.org, making it easy to get your mbed-controlled m3pi robot up and running.
This project originated as a prototype created by ARM’s mbed team to help showcase the mbed at various events and exhibitions. The picture below shows ARM’s original m3pi (left) next to our m3pi:
Note: Pololu’s m3pi robot does not have an integrated battery charger the way ARM’s prototype did.
Wireless
The expansion board also makes it easy to add wireless capabilities to your m3pi robot by providing sockets for XBee or Wixel modules. The expansion board connects these modules to one of the mbed’s serial ports, and jumpers can be used to connect them directly to the serial lines of the 3pi base, so your robot can communicate wirelessly even without an mbed as the high-level controller. Because the Wixel is programmable, the Wixel can also be used as the m3pi’s high-level controller when the serial jumpers are in place.
Note: If you want an mbed-controlled m3pi robot, you can save money with our m3pi robot + mbed NXP LPC1768 combination deal. If you already own a 3pi robot, you can upgrade it to an m3pi robot using our m3pi expansion kit.