Some of the lessons learned during this project include that calculations are an important part of the redesign. One example of this would be that the initial motor used was found to not provide enough torque for the application, and thus not be able to launch a bean bag fully. Other lessons learned include using a bread board design that can then be recorded in a schematic to then use it to create the set hardware design is useful especially when referencing it later.
Another lesson would be to create and test sub-components to make integration easier. One example of this is with the GUI and being able to turn on and off commands to hardware that may not work or be attached to be able to test other parts of the software is helpful. Another lesson would be that sometimes using older hardware is better when speed is not required (like the Raspberry Pi) so that software (like ROSARIA) can be used with the overall project.
A final lesson would be that sometimes hardware solutions are better than software solutions. An example of this is is with the motor control, where the enable input is controlled from both the microcontroller and stopping switch on the robot so that the microcontroller can only enable the robot to loosen the spring and never overtighten it and cause parts to break.