This repo outlines my steps in designing a gyroscope-based self-leveling table. The code is designed around a PID loop, however a much simpler approach could be taken by using raw angles to calculate the optimal output.