We used sprint four to finish everything for the minimum viable product and key extensions.
The entire mechanical subsystem including the pan-tilt, the base, and the collar for the sphere was either freshly machined or rebuilt. The pan-tilt was reprinted and built to be more polished and reliable, using pre-fabricated higher-tolerance gears. We had learned in first cuts that 3D printed gears were not detailed enough, so we moved towards laser cut gears. We quickly realized that these were not good enough gears either, so we decided to use manufactured gears for the final. The base was laser cut out of acrylic and assembled. The collar was 3D printed and fitted to the spherical display. Some mismeasurements of the required collar size slowed down the construction process, requiring us to reprint the collar and recut some pieces of the base.
Early iterations, we found, were restricted in range of motion by the tangle of wires. These prototypes also looked very messy. To fix this, the circuitry, mostly finished early in the project, was transferred to a protoboard for final polishing. The Python processing code was transferred onto the Raspberry Pi and hooked up to the two Arduinos. We had learned through our early models that the servos were unreliable because of unpredictable jittering. We fixed some of the jitter with the addition of large capacitors, and replaced the broken touchscreen.
After some work, and outside consultation, we finally debugged the motor control code. The second Arduino now correctly switched modes, received input data and output the scaled results to the servos. We nailed down the system for multiple curves, set up the laser to be controlled via Arduino, and implemented a set of preset images. The user can now either cycle through preset images or draw and upload their own input through the touchscreen.