The ball balance robot is one of the dynamic balancing robots. This robot must be actively controlled to stabilize it so that it remains balanced perpendicular to 0˚ above the ball on the ground or floor. The control system used is the PID control system. The tests carried out include sensor testing, motor testing, robot response testing, and the implementation of the PID control system on the robot. Of the various tuning methods tested on the robot, the manual tuning method gives the robot a slightly longer fall time of 320ms, compared to other methods, namely Ziegler-Nichlos=70ms, CHR Overshoot 0%=170ms, CHR Overshoot 20%=160ms, and Cohen-Coon =150ms. Overall data processing is processed by the Arduino Mega2560 microcontroller which receives angle readings from the MPU6050 sensor as input and actuation on the stepper motor as output for balancing on the robot.