Overview
This project focuses on the design and development of a self balancing robot built around a compact control system for dynamic stability and precise motion. Using an IMU sensor for real time orientation feedback, I implemented a PID control loop to continuously correct tilt and maintain upright balance. The system drives dual motors through a high response motor controller, adjusting speed and direction within milliseconds to counteract disturbances. Emphasis was placed on tuning stability, reducing oscillations, and achieving smooth recovery from external pushes while keeping the platform lightweight and efficient. The robot was also designed as an educational platform to help demonstrate and teach PID control concepts in a hands on way. By adjusting proportional, integral, and derivative values in real time, I was able to observe how each parameter affected responsiveness, overshoot, and overall stability, turning the project into both a functional balancing system and a practical learning tool for control theory, sensor feedback, and robotics.
This project is finished
Version 1
Version 1 of the self balancing robot was built using parts from an Elegoo smart car kit as a rapid prototyping platform. The chassis motors and basic driver hardware were reused to create a simple two wheeled balancing system. An IMU sensor provided real time tilt feedback which was processed using a basic PID control loop to adjust motor output and counteract falling motion. While limited by the stock frame rigidity and motor precision this version was important for validating the core balancing algorithm and understanding system stability before moving to a more optimized custom design.



Version 2
Version 2 of the self balancing robot was designed around an Arduino Nano with a fully 3D printed chassis and custom structural components. The robot used a gyro to measure tilt in real time while the Arduino Nano processed the data through a PID control algorithm to maintain balance. A motor driver controlled the two DC motors, continuously adjusting wheel speed and direction to counteract falling motion and stabilize the robot. This version focused on testing the core balancing system, tuning control responsiveness, and understanding stability before moving on to more advanced mechanical and electronic designs.



Version 3
Version 3 of the self balancing robot upgraded the control system to a Raspberry Pi Pico while keeping the fully 3D printed chassis, gyro sensor, motor driver, and two wheel balancing design from the previous version. The Raspberry Pi Pico provided faster processing and improved control responsiveness, allowing the PID balancing algorithm to react more smoothly and accurately to changes in tilt. The robot continuously monitored its position through the gyro sensor and adjusted motor speed in real time to maintain stability. This version focused on improving balance consistency, reducing oscillation, and creating a more reliable platform for future autonomous and robotics features.



