Skip to content

adoodevv/self_balancing_robot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Self-Balancing Robot

Capstone project for designing, building, and validating a two-wheel self-balancing robot using an Arduino-based control system.

Project Summary

This project combines embedded control, mechanical design, and prototype testing:

  • Sensor fusion and orientation estimation with the MPU6050 IMU.
  • PID-based feedback control for dynamic balance.
  • Custom chassis design and 3D-printed structural parts.
  • Iterative test documentation using photos, videos, and reports.

Team

Supervisor

Quick Start

  1. Clone the repository.
  2. 3D print the parts in models/ and assemble the chassis.
  3. Connect the MPU6050, motors, and motor driver according to schemes/diagrams/electrical_schematic.png.
  4. Open the sketches in the src/ directory with the Arduino IDE.
  5. Install the required libraries listed in src/README.md.
  6. Upload src/calibrate/calibrate.ino and record sensor offsets.
  7. Update offsets in src/main/main.ino.
  8. Upload src/main/main.ino and begin controlled balance testing.
  9. (Optional) Run the simulation visualizers documented in src/simulation/README.md.

Repository Guide

self_balancing_robot/
├── README.md                  # Project overview and getting started
├── docs/                      # Reports, synopsis, and formal documentation
├── models/                    # 3D printable CAD files (.stl)
├── photos/                    # Build and assembly images
├── schemes/                   # System/block diagrams and electrical sketches
├── src/                       # Arduino sketches (calibration + control)
│   └── simulation/            # Python simulation and visualization scripts
└── videos/                    # Test and demonstration recordings

Detailed documentation by folder:

  • docs/README.md
  • src/README.md
  • schemes/README.md
  • models/README.md
  • photos/README.md
  • videos/README.md
  • src/simulation/README.md

Hardware Stack

  • Arduino Uno (or compatible board)
  • MPU6050 IMU (accelerometer + gyroscope)
  • Motor driver module (for example, L298N)
  • Two DC motors and wheels
  • Power source (battery pack)
  • Chassis and structural mounting parts

Block Diagram

System Block Diagram

Project Status

  • Calibration sketch implemented and verified.
  • Main balancing control sketch implemented.
  • PID tuning for final platform stability.
  • Final validation and performance reporting.

License

This project is distributed under the terms of the license in LICENSE.

About

Self-balancing two-wheeled robot firmware built with Arduino and MPU6050, using complementary filtering and PID control for real-time stability and load handling.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors