The Balboa 32U4 is a small, user-programmable balancing robot based on the Arduino-compatible ATmega32U4 AVR microcontroller and featuring two H-bridge motor drivers, quadrature encoders for closed-loop motor control, a full inertial measurement unit (3-axis accelerometer, gyro, and magnetometer) for estimating orientation and balancing, and an optional interface for connecting a Raspberry Pi to make a Raspberry Pi-controlled balancing robot. The control board includes a powerful 5 V switching step-down regulator that can supply up to 2 A continuously, along with a versatile power-switching and distribution circuit. Three on-board pushbuttons offer a convenient interface for user input, while indicator LEDs, a buzzer, and a connector for an optional LCD (not included) allow the robot to provide feedback.
This is a kit; assembly (including soldering) is required. Motors and wheels are not included so you can choose your own to personalize your robot; see below for details. Balboa runs on six AA batteries (not included), and a USB A to Micro-B cable (not included) is required for programming.
Like our Zumo 32U4 robot and A-Star 32U4 programmable controllers, which are based on the same microcontroller, Balboa 32U4 features a USB interface and ships preloaded with an Arduino-compatible bootloader. A software add-on is available that makes it easy to program the robot from the Arduino environment, and we have Arduino libraries and example sketches to help get you started. A USB A to Micro-B cable (not included) is required for programming. For those who want to customize or enhance their robots with additional peripherals, the robot’s power rails and microcontroller’s I/O lines can be accessed via 0.1″-spaced through-holes along the sides, front/top, and back/bottom of the control board.
The Balboa 32U4 control board can serve as the robot’s main controller, or it can act a base for a more powerful Raspberry Pi controller. With the addition of a 2×20 female header and standoffs (neither of which are included), a compatible Raspberry Pi (Model B+ or newer, including Pi 3 Model B and Model A+) can plug directly into the board. Integrated level shifters make it easy to set up I²C communication and interface other signals between the two controllers, and the control board automatically supplies 5 V power to an attached Raspberry Pi. In this setup, the Raspberry Pi can handle the high-level robot control while relying on the Balboa’s ATmega32U4 microcontroller for low-level tasks, like running motors, reading encoders, and interfacing with other analog or timing-sensitive devices.
Selecting motors and wheels
The Balboa uses two micro metal gearmotors to drive external 2-gear gearboxes that further increase the gear ratio and support the weight of the robot with ball bearings rather than the motor shafts themselves. The Balboa kit gives you five reduction options to choose from when assembling your robot (ranging from 1.64:1 to 2.88:1), and you can further customize the gear ratio based on which micro metal gearmotor you choose for your robot, which is why we do not include motors with the kit. The integrated quadrature encoders require gearmotors with extended motor shafts, and we specifically recommend the 30:1 HPCB, 50:1 HPCB, or 75:1 HPCB versions
We also do not include wheels with the kit since there are a number of options to choose from. We recommend 80×10mm Pololu wheels, which are available in five colors — black, red, yellow, blue, and white — but our larger 90×10mm wheels and smaller 70×8mm wheels are also options if you know what you are doing (note that the 70×8mm wheels only offer a few millimeters of clearance when balancing).
With the exception of motors and wheels, this kit contains everything necessary to build a Balboa 32U4 robot
See the Balboa 32U4 balancing robot user’s guide for detailed assembly instructions.
Protecting against falls
When you are using the Balboa as a balancing robot, it is important to protect the electronics from hard falls that could damage them. In general, we recommend running the Balboa on soft surfaces, such as carpet, and it helps if you can install “arms” or simple bumpers that will hit the ground before the electronics. We are working on a set of arms for the Balboa and expect to have them available in the future, but in the meantime, we recommend you make your own for now. The pictures below show two such home-made examples:
We have made the arms in the left picture available on Thingiverse so those with access to 3D printers can print their own. For everyone else, you can improvise your own bumpers using everyday objects, like LEGO blocks, wood, or cardboard, and mount them to the side rails of the chassis with M3 screws and nuts (the screws in the LEGO-arm picture are 12 mm long).
- Size: 118 × 112 × 80 mm1
- Weight: 165 g2
1 Of assembled robot with 80×10 mm wheels.
2 Of assembled robot with motors and 80×10 mm wheels, without batteries
Documentation and other information