November 30th, 2018

PID Balance-Bot

A two-wheeled, self-balancing, inverted-pendulum robot.

This solo project involved tackling the mechanical, hardware and software components required for the construction of a two-wheel self-balancing robot.

In order for the robot to function as designed, I implemented two H-bridge circuits to control each wheel independently, as well as a robust proportional integral derivative (PID) system so that the Arduino could keep the robot upright. Since this was my first exposure to control systems, it took many late nights and more than a few broken robots before I got things tuned just right.


I gained plenty of debugging experience, as well as familiarity working with gyroscopes and accelerometer modules. Soldering the circuit for this school project was optional, but after many long days spent wrangling jumper wires, ditched the breadboard and soldered things in place. Important lessons were learned about colour-coding and wire management, space planning on generic PCB boards, and the joys and dangers of Dupont jumper wires.