Click the images in this documentation to view a larger image!

For this final project, we wanted to make something using an existing interaction that we enjoyed and could improve upon, or at least learn a lot from trying to replicate. Thus we decided to create a pinball machine. While pinball machines have roots back to the 1800s, modern pinball machines are feats of game design with hundreds of LEDs, dozens of sensors, and a menagerie of motors from solenoids to servos. While we couldn’t make something of that scale in a few weeks. we could try and complete the basic functions of a pinball machine while trying to design a game that was fun to play!

The key interaction of a pinball machine is the user putting a pinball on the play area, sometimes by a plunger or electronically, and then using buttons to move flippers that bounce the pinball around the table. As the ball moves around it activates sensors and scores points.

Why a pinball machine? In our opinion, games are something that can bring people together. While pinball is a distinctly single-player game, the community aspect of vying for a high score is something we think can be quite valuable. Secondly, the satisfactory response of the pinball moving around the board and the powerful pistons in the flippers is quite restorative and meditative.

For our project, we incorporated two force sensitive sensors to give the player points when they hit them, and two rubber-band obstacles placed in areas where the ball commonly went so as to incorporate some unpredictability into the game. Our enclosure is made out of basswood and walnut, and uses traditional arcade buttons for the player to interact with the flippers. The game can also be reset by one of the buttons, allowing a new player to take over.

Link to my partner Gregorio’s documentation of the project


Planning this project was important to making sure that we got off on the right foot. While me and my partner had played pinball machines before, neither of us really knew what it took to build one. There were a few critical things we learned from our research. The first was that the flipper mechanism would need a motor we hadn’t used before. Traditional pinball machines use solenoids, which can quickly and powerfully move the flippers but are very expensive. The servos and steppers we used in class were not fast or powerful enough to run the flippers.

Resources / References:
Here are some of the other projects we looked at and used ideas from. The flipper design is what we used, however we scaled down the STL file to fit our project.

Other people’s projects

3D Flipper Model:

Key Parts:

Arcade Buttons

Motors for flappers and power supply


Arduino Uno

LED Display for Score


The initial prototype we created was not very polished but it implemented the key ideas we wanted to get right. 3D printing the flippers was a challenge, having to re-start a few times to get the right size and without errors. While making this prototype we were able to find that designing the play area would be a key challenge to ensuring that the game was not just playable but also fun.

For the flippers, we used an idea found on the 3D Flipper model (linked above) that suggested using automotive lock motors for the flipper control. These motors are DC, however they implement a gearbox that allows them to act similarly to a solenoid without the very costly price! They are fairly large but just powerful enough for our needs. We needed to use some additional springs to make sure that the flippers reset to a predictable position.

For the sensors, we initially planned on using capacitive sensors as that would allow for creative sensor designs. However we failed to remember that you need some sort of passive electrical charge (like from a finger) to activate a sensor like that. While traditional pinball sensors are traditional switches with spring loaded wires that are pressed down by the pinball, we decided against this because it would take more fabrication knowledge than we had at the time. In hindsight that method may have been better as the FSR sensors we chose instead had a habit of being unreliable. The FSR sensors are attached using screw terminals to make them easier to attach.

Final Object

Code and Schematics