Jake Hafele - Project Portfolio
Goals
With this project, I wanted to create something that would push what I have done so far with electronics design while also making something that would make people laugh. To do this, I decided to make a “useless” machine, whose sole job was to flip off any switch that I pressed down or turned on with the box. The robot arm is an improved version of my robot from the motion-controlled arm, which was a big challenge for this project. Overall, it was a very interesting build and was tons of fun to make.
Process
I had been working on this project all throughout my sophomore year at college. In the fall 2021 semester, I was mainly focused on improving my ideas of a robot arm. This time, I wanted to use stronger servos since I was having problems with weight and support with the smaller micro servos. This ended up being a really good choice, since the new servos worked exactly how I wanted. I think the overall design is better, since the robot arm can rotate both the upper and lower part of the arm, instead of just the upper part like before. This makes me want to remake my old robot and use the same analog sensors to see how much better it would do. Anyways, not much coding was done during this. Most of the time was spent with trial and error with the 3D design. We also were thinking of ways in how we wanted the robot to interact and interface with the box. This led us to winter break, where my groupmate Tyler designed the wooden box that the robot would go in. We measured out the dimensions to roughly be something we thought would fit well for it. During break for myself, I worked on designing a simple PCB to interface the switches, since we both agreed a breadboard would be too weak to use. This was mostly because we were worried about parts falling out of the breadboard, since this happened with my spider robot project. After both of these were done and ordered, our next job was to get the robot arm to work inside of the box.

  Our first job for doing this was to get two small micro servos to open the window of the box. This ended up being easier than I thought. Like before, I was worried about the weight being too much for the small micro servos to handle, but it ended up being okay. After this, I soldered our new PCB and designed a 3D printed mounting plate for it to go on top of the box. We were now ready to start coding the robot arm. The servo driver and library make interfacing the servos super easy. We ended up making a function to turn any servo we wanted a set number of degrees. We then made some functions to prime the robot arm so it was facing outside of the box. We also made a function so that it would retract back into the box. Since this was a common action for when each switch was hit, this made reusing code super nice. We then had a function to read the input of all the buttons and switches. On the PCB I designed, I used pull-down resistors so they would all default to be read as 0. This meant that when a switch or button was pressed a 1 would go off in the code and signal the robot arm should start moving. This was the general idea of how the robot moves, and I am pretty happy with how it turned out.
Reflection
Overall, I really enjoyed this project. It was so much fun to work on throughout the school year and make the final video. I wish I took more pictures and videos throughout me working on it, but this was more due to not having much time. I felt rushed at points just to get it done since I had lots of other classes to worry about in hindsight. Either way, this project was a blast to make and people seem to like it too. Thanks so much for reading about this project!