Skip to content

Homework 5 - Pachinko Board

Hero Image

Team Members

Eden Chung, Saloni Jain, Jessica Sun, Lucy King

Pachinko Board

A pachinko board that creates a uniform distribution of balls based off automatically moving motors


Images

Alt angle 1
Alt angle 2

Video


Process

For our final project, our group built a space-themed pachinko board designed to achieve a uniform ball distribution across five buckets. Two motorized gates adjust dynamically based on sensor readings at the bottom, redirecting balls to keep the distribution even as they fall.

We split the project into two main sections: hardware and software/firmware. On the hardware side, the team designed and painted the board, laser cut and sawed the wood, wired the sensors, and 3D printed the gate components. Getting the CAD measurements exactly right was one of the trickier parts of the hardware work — working with an existing file and adjusting it to fit our board took trial and error, as even a small measurement error could mean a gate that physically couldn't clear the wall. We got more comfortable with the iterative process of measuring, adjusting, and testing small components before committing to a full print.

On the software side, the team wrote the RTLola monitoring code on the sensing ESP32, which tracks ball counts across the buckets and fires triggers when the distribution becomes uneven. The motor ESP32s receive those triggers over ESP-NOW and drive the stepper motors to open and close the gates accordingly.

One of the more difficult debugging experiences we ran into was a motor that was not functioning, even though it was running the exact same code as the other motors. It would vibrate in place but not rotate, and we spent time testing different code configurations before eventually systematically swapping out ESPs and jumper wires one at a time. The error ended up being caused by a faulty wire. This was a different kind of debugging than what we were used to in software, where we have stack traces, logs, and the ability to isolate and iterate quickly. With hardware, the failure could be the wire, the motor, the driver board, or the ESP itself, and there's no error message pointing you in the right direction. Learning to approach hardware debugging more methodically was one of the most valuable takeaways from this project.


Technical documentation (Private repo)