Introducing the 3pi+ 2040 Robot
I am super excited to introduce our newest robot, the 3pi+ 2040. This robot combines the 3pi+ chassis, which we initially released in late 2020, with the power of the Raspberry Pi RP2040 microcontroller. Here is a quick overview of its features:
This summer will mark 15 years since we released our original 3pi robot, which was designed to be fast enough to be competitive in line following and maze solving events. The high speed offers interesting programming challenges not present in typical robot kits of that era; here is a video from back then in which Ben demonstrates his 3pi learning a maze and then going extra fast on longer straightaways:
Although we developed our first injection-molded parts (wheels, ball caster, and motor mounting brackets) for that design, it was still largely a “PCB on wheels” kind of robot. The next-generation 3pi+, with a chassis mechanically independent of any circuit board, had been in development for several years when the coronavirus pandemic hit in early 2020. We kept working on it throughout that year, culminating with the November release of the 3pi+ 32U4.
The 3pi+ delivered the most-requested feature missing from the 3pi, wheel encoders, along with many other improvements including a full IMU, bumpers, and programmability over USB (the 3pi required an external AVR programmer). With its support in the Arduino environment, the ATmega32U4 continues to offer a good entry point for working with microcontrollers, but the 8-bit architecture and 32 KB of program memory feel increasingly outdated and constraining, especially with the new sensors available on the 3pi+.
That brings us to the new 3pi+ 2040, powered by the Raspberry Pi RP2040 microcontroller (32-bit dual-core Arm Cortex-M0+) with 16 MB (128 Mbit) of flash memory. The robot ships preloaded with a MicroPython interpreter, so you can get started right away by plugging into its USB C port and editing the included example Python programs with your favorite text editor. No special programmers or programming software are required, and you can write MicroPython code from practically any desktop or mobile operating system as long as it has a text editor and the ability to copy files to a USB drive. For a basic Python IDE that lets you run code interactively, we are recommending the Mu editor. (See the User’s Guide for instructions on setting it up.)
There are many other programming environments and languages that you can use with the 3pi+. Since it shares the same RP2040 processor as the Raspberry Pi Pico, anything that works for the Pico should be usable on the 3pi+, including C, C++, and the Arduino environment. We already include some basic C examples in our example code repository, and we plan to write more examples and expand the software support for this robot. Do you have a favorite IDE that works with the Pico? Is there some language or system you’d like to run on the 3pi+?
The menu of pre-installed demo programs on the 3pi+ 2040 Robot.
Early adopter special: We are initially offering the 3pi+ 2040 Robot as a limited release intended for advanced customers who have had some experience with robotics or Raspberry Pi RP2040 programming (e.g. with a Raspberry Pi Pico). The initial release is available with 30:1 MP motors (the “Standard Edition”), either assembled for 38% off or in kit form for 50% off. Early adopter robots will generally need to be backordered as they are built to order; we expect to ship within a business day of ordering. The robot hardware is finalized so the only changes we expect for the full product release are in the initial firmware configuration and pre-installed example programs. Documentation will also continue to be developed as we release the robot to a wider customer base. Early adopters who publicly share their 3pi+ 2040 experiences will be eligible for an additional robot with an extra $25 discount.