Ball Beam Balance Robot Prototype

A Ball Beam Balance Robot used to explore feedback control and sensor-based balancing.

The Ball Beam Balance Robot is an educational, 2-D control-system demonstrator. The system uses a Time of Flight sensor to measure the ball position along the beam, a NEMA 17 stepper motor to tilt the beam, and a PID controller running on an RP2040 board to stabilize the ball around a target position, usually the center of the beam or chosen on the touchscreen.

This robot was built to educate schoolkids about core physics and robotics concepts, focusing on how a robot can use a sensor to balance a ball in real-time. The mechanical design includes a 3D-printed base, hinge, beam supports, and couplers that interface the stepper shaft to the beam that house the RP2040 board, Time of Flight sensor, and motor.

Educationally, Ball Beam Balance Robot allows K–12 students to see how changing controller parameters affects system behavior in real time. By watching the ball move and settle on the beam, students gain an intuitive understanding of feedback, stability, and the tradeoffs between response speed and overshoot.

IPR Schematic
PCB Render 1
PCB Render 2

Parts List

VL53L0X Time of Flight Sensor
VL53L0X Time of Flight Sensor
TMC2209 Stepper Motor Driver
TMC2209 Stepper Motor Driver
NEMA 17 12V Stepper Motor
NEMA 17 12V Stepper Motor
Raspberry Pi Pico / RP2040 Board
Raspberry Pi Pico / RP2040 Board
ST7796S 4.0" LCD Touchscreen
ST7796S 4.0" LCD Touchscreen
3.2V LiFePO4 Battery
3.2V LiFePO4 Battery
4S 30A 12.8V BMS
4S 30A 12.8V BMS
14.6 Volt 2A Battery Charger
14.6 Volt 2A Battery Charger
3.3V Buck Converter
3.3V Buck Converter
470uF Electrolytic Capacitors
470uF Electrolytic Capacitors And 1A 20V Schottky Diode