For my final project in my high school AP Environmental Science class, I developed a fully-functional small-scale model of a sun-tracking solar panel. I designed and 3D printed the gearing and rotating platforms to give the panel 2 degrees of rotational freedom, and powered them with an Arduino.

Isometric CAD rendering of the design.

Side-view CAD rendering of the design.

Top-view CAD rendering of the design.
I then wrote an OpenCV app in Java that communicated with the Arduino over the Serial interface, sending desired angle commands that were calculated based on a stream running to determine the relative position of the sun using a webcam fixed to the upper platform (shown in red on the CAD).

High-level block diagram of the system.

The constructed system.