Capstone project for designing, building, and validating a two-wheel self-balancing robot using an Arduino-based control system.
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.
- Clone the repository.
- 3D print the parts in
models/and assemble the chassis. - Connect the MPU6050, motors, and motor driver according to
schemes/diagrams/electrical_schematic.png. - Open the sketches in the src/ directory with the Arduino IDE.
- Install the required libraries listed in
src/README.md. - Upload
src/calibrate/calibrate.inoand record sensor offsets. - Update offsets in
src/main/main.ino. - Upload
src/main/main.inoand begin controlled balance testing. - (Optional) Run the simulation visualizers documented in
src/simulation/README.md.
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.mdsrc/README.mdschemes/README.mdmodels/README.mdphotos/README.mdvideos/README.mdsrc/simulation/README.md
- 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
- Calibration sketch implemented and verified.
- Main balancing control sketch implemented.
- PID tuning for final platform stability.
- Final validation and performance reporting.
This project is distributed under the terms of the license in LICENSE.
