Balboa 32U4 Balancing Robot Kit
The Balboa 32U4 balancing robot kit 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.
Using Raspberry Pi as a Controller
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 2x20 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.
Balboa 32U4 features a USB interface with an Arduino-compatible bootloader. A software add-on is available that makes it easy to program the robot from the Arduino environment, there are 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."³-spaced through-holes along the sides, front/top, and back/bottom of the control board.
Note: This kit does not include wheels, gearmotors or batteries (6xAA required). A USB A to Micro B cable is required for programming.
- Balboa 32U4 control board
- Balboa chassis and battery cover
- 2 x motor retention clips/gearbox housings
- 2 x gearbox covers
- 6 x 683 ball bearings
- 2 x 3 mm shafts
- 10 x plastic pinion gears (small €“ two each with 17, 19, 21, 23, and 25 teeth)
- 10 x plastic output gears (large €“ two each with 41, 43, 45, 47, and 49 teeth)
- 4 x 3/16" #2-56 screws and nuts
- battery terminals
- jumper wires (for soldering motors to the main board)
- 2 x magnetic encoder discs (12 CPR)
- Size: 118 x 112 x 80 mm (assembled robot with 80x10 mm wheels)
- Weight: 165 g (assembled robot with motors and 80x10 mm wheels, without batteries)
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.
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.