Personal project
Robotic Treasure Chest
- Problem
- Design a fully 3D-printed storage chest with Arduino electronics to make an interactive desk toy.
- Date
- Dec 2025 – Jan 2026
- My role
- Personal project: mechanism design, CAD, printing, electronics and Arduino code
- Size
- 70 × 75 × 67 mm closed
- Tools
- SolidWorks, 3D printing, Arduino C++, servo motor, piezo buzzer
- Result
- Working desk toy whose custom gear assembly opens the chest in sync with the classic Legend of Zelda tune







Mechanism iterations
- Brainstormed and prototyped several opening mechanisms based on the Arduino components available.
- First iteration: a servo with a custom spool tensioned a string from inside the chest. The lid could not open at different speeds; it only opened rapidly once enough tension built up.
- Second iteration: custom bevel gears driven by the servo, attached to the back of the chest near the hinge. This allowed more dynamic movement, but the assembly was too fragile and broke during adjustments.
- Third iteration: improved tolerances and hinge design for easier installation and lower stress on the gears and hinges.
Specs (from the final CAD)
- Overall: 70 × 75 × 67 mm with the lid closed; 5 parts (base, lid, servo and two gears).
- Drive: the servo turns a pair of 12-tooth straight bevel gears with 45° cones (a 1:1 miter pair at 90°, Ø16.1 mm). The second gear sits on the lid's hinge axis, so the servo rotates the lid directly.
- Hinge: Ø3.8 mm pins on the lid snap into Ø4.0 mm open hooks on the base (0.2 mm diametral clearance).
- Walls: 2.0 mm lid shell and 2.0 mm base walls.
Bevel gear versions (CAD)
- v1: Ø12 × 4 mm gear with 23.6° / 33.3° tooth cones and a Ø4.0 mm bore.
- v2: grown to Ø16.1 × 6.5 mm with 45° cones, so the two identical gears form a true 1:1 pair at 90°; bore opened to Ø4.5 mm.
- Final assembly: a no-bore version of the v2 gear.
Electronics & code
- Added a piezo buzzer that plays a song in sync with the opening motion of the chest.
- Wrote Arduino code that translates strings into musical notes for the piezo buzzer.
- Converts strings like "C4" into the correct integer frequency based on A440 tuning.
Result
- Fully functional desk toy (see the demo video) that uses a custom gear assembly to open the chest in sync with the classic tune from The Legend of Zelda.
What I learned
- Designing custom bevel gears
- Creating dynamic assemblies with multiple moving parts in SolidWorks
- Programming servo motors and piezo buzzers in Arduino C++