One of my first projects was a self balancing robot that used an IR sensor to determine its upright position. It was featured on HaD long ago and was actually smaller that this guy. This one, however, is much better at balancing. Simply put, board consists of a ATMEGA32u4 a MPU-6050 and a motor driver. The body is 3D printed, and the motors are tiny little 26:1 geared motor. It uses a PID control strategy to balance. Its the ultimate desk toy. There is bluetooth, but I don't like the module I chose, going to change it to something more simple.