Redditor “xmajor9x” has spent several weeks building a three-legged machine to balance a metal ball on top of a plate. The device uses three servos attached to a rectangular surface with linkages that translate servo position into linear displacement of the table. This allows it to keep the ball centered, or rotate around the perimeter in a circle or square pattern.
An Arduino Due controls the ball using a PID loop, and the ball’s position is sensed not by an external camera, but by the top “plate,” which is actually made out of a resistive touchscreen. Although this adds a very unique element, it means that the ball on top must be quite heavy to be reliably tracked, and its creator is considering switching to a computer vision system in the future.
Be sure to check out the project’s GitHub page for code and more info on the build!