University of Cincinnati CCM Mechatronics Spring 2026 - Interactive Operation Game Board - Evan Reinhart & Ryan Buckley
by reinhaen in Circuits > Arduino
25 Views, 0 Favorites, 0 Comments
University of Cincinnati CCM Mechatronics Spring 2026 - Interactive Operation Game Board - Evan Reinhart & Ryan Buckley
This project recreates the classic Operation game as a "full-scale" interactive prop. Players use tweezers to remove 3D printed objects from cavities without touching the edges. If they do, then lights, buzzers, and even mechanical effects warn them of their malpractice!
The build combines:
- Arduino Mega for control
- "Touch" inputs
- LED feedback
- Servos for mechanical eye movement
- Relay-controlled AC lamp (nose)
Supplies
Electronics
1 × Arduino Mega 2560
1 × Arduino Nano (optional secondary controller for sound fx)
4 × cavity sensors (metal contacts or foil-lined cavities)
4 × LEDs (with resistors ~220Ω)
1 × 5V Relay Module (for AC lamp)
1 × AC E26 light socket + bulb
2 × SG90 Servo Motor (or similar)
1 × Toggle switch (with cover)
1 × Toggle switch
1 × 2 position rotary selector switch
Jumper wires, breadboard or terminal blocks
120v Power
- IEC C13/C14 plugs
- duplex receptacle outlet & cover
5V supply (Arduino + servos)
Separate AC line (for lamp via relay)
Build Materials
Tote/bin for electronic support box
Plywood / MDF base
Conductive metal (for cavity edges + tweezers)
Paint + graphics for game board
Electronics Tools
Wire strippers
Soldering iron + solder
Multimeter
Small screwdrivers (flathead & Phillips)
Needle-nose pliers
Fabrication Tools
Drill
Jigsaw
Sanding block
Clamps
Measuring tape + straight edge
Finishing Tools
Paint brushes / rollers
Hot glue gun
Heat shrink + heat gun (or lighter)
Gaff tape / electrical tape
Utility knife
Game Board
The game board is constructed from the following building materials:
1/4" MDF - ripped to 23"x35" (determined by poster size and included bleed)
1x4 - ripped to 3", routed top edge with 3/8" round over, mitered in corners and framed around MDF
Poster from Walgreens - 24x36 adhesive backed poster (make sure to find a 50% code online!)
I cut the cavities out of poster and then traced them onto the MDF. I cut the MDF holes using a forstner bit and a jigsaw. Some light sanding was required to make the transitions smooth. The sticker sheet went on smoothly after aligning the edges. The 1x4 frame was painted red with spray paint. Once dry, I glued the frame and secured with temporary clamps and brad nails.
3D Modeling & Printing
To bring the game board to life, we designed a pair of animated eyes with moving eyelids. These are driven by two servos total, using a simple linkage system to synchronize motion.
Each eye consists of:
- Upper eyelid (moves)
- Lower eyelid (optional or fixed)
- Linkage arms connecting both eyes for side to side scrolling
- 👉 Instead of one servo per eye, both eyes are:
- Mechanically linked
- Driven together for synchronized motion
Support Box Overview
All control electronics and power distribution were housed in a modified plastic tote reinforced with internal plywood stiffeners. The tote provided a lightweight, portable enclosure, while the plywood added rigidity for mounting components securely. Inside, the Arduino, power supplies, and a 120V AC input (via an IEC panel connector) were "organized" for safe and efficient operation. Two 9-pin CPC connectors were installed to carry power and control signals between the enclosure and the game board, allowing for quick disconnect during transport or maintenance. The lid was outfitted with a two-position rotary selector switch and an “anesthesia” trigger switch for user interaction, while the side of the tote housed the main breaker, master power switch, and a courtesy power receptacle for any additional devices.
Wiring
The wiring for the box is relatively straightforward. Wiring begins with 120V AC power entering the box through the IEC. Taking wires with spade terminations, run live, neutral, and grounding wires to a channel strip so the needed devices can be in parallel. The live wire is broken and wired into a breaker and main power switch. From the channel strip, take the live, neutral, and ground to the outlet and power supplies. 1 live and 1 neutral should be run to to the CPC for the nose. The live is once again broken for the relay that will allow the arduino to control when the light turns on. Wire signal from the pins for the gameboard straight from the arduino to the CPC, adding a common ground. On the board, run the signal and ground to all components. The only exceptions to this are the foil for the inputs and the tweezers. For the limbs, solder wire to the tinfoil (buying barbecue grade foil will make the soldering easier), then run them to their CPC. Solder wire to the tweezers then run it to common ground. Wiring the lid is the tricky because of the LEDs connected to the switches. Cut multiple wires to about 3 times the height of the box so you can access inside. For the stove switch, wire from DC+ and DC- to the arduino and red LED, wiring them in series with the switch. Then wire the green LED to the common 5V and common ground, and wire the anesthetics LED into signal and GND, once again in line with the switch.
Arduino Coding
Needed Libraries
- Servos (<Servo.h>)
The coding is also fairly simple. Include the servo library and define your pins before void setup. Inside void setup, define I/Os and latch your eyes servo to a pin. The loop is a series of "if, else" commands with "goto" commands that act as bailouts. Whenever the tweezers (attached to common ground) make contact with the foil, it sends an electric signal to the "INPUT_PULLUP." When the input reads low for a body part, the code will execute code to turn on the lights, then use the "goto" command to travel down the code and perform the eye movement. If the sedatives switch is on, the code skips the "goto" command, instead using the "return" command to avoid the servo movements.
I've attached the code for reference.