Building a Puzzle Box
Many people read my puzzle box stories and wonder whether it would be possible to make one of their own. Well, I’ve got to tell you that it’s not easy, but if you’re patient, energetic, and a little bit clever, it can be done. It also helps if you have some background in woodcraft, electronics soldering, mechanics, and/or C++ programming, though with a little work you can acquire enough of those missing skills to create a basic single-use box.
If fabricating your own doesn’t sound so appealing after all, I should remind you that I am actively building a number of interesting Reverse Geocache™ boxes on commission. These include the famous “engagement ring” boxes, which have been used for their nominal purpose at least three times now, “fretwork” boxes, and other custom varieties. Mine come with a warranty and are designed to be owner-reprogrammable. That means that once your friend has completed the fabulous quest you created for her, you can organize a brand new one for someone else. This doesn’t require any special skill beyond attaching a USB cable to a PC and launching some special (free) configuration software that I wrote.
Building your own box can be very rewarding. The remainder of this article will be devoted to helping those who have made the decision to try. I highly recommend that you use a prototyping shield or, better yet, one of my custom Reverse Geocache shield PCBs. It makes the assembly much easier.
(Note: This article is still “under construction”.)
Acquire Components
To start of with, you’ll need to acquire quite a box and quite large number of components. The box should have a flat lid and room for the display, the button hole, and the Arduino USB port to stick out. The lid needs to have a certain depth to it to hold the assembly. It’s probably better if you wait to buy/build this until after you see how big that assembly turns out.
| Arduino Uno microcontroller | $29.95 |
| GlobalSat EM-406A GPS module | $59.95 |
| Topway LMB0820DFC LCD display | $5.95 |
| SWT101A2B Pushbutton w/ Blue LED | $6.50 |
| My “Reverse Geocache” shield PCB | $9.99 |
| Hitec HS-55 servo motor | $9.99 |
| Pololu low voltage power switch | $5.95 |
| Pololu 5V boost regulator | $6.95 |
| 4-pin jumper cable for button | $3.00 |
| 2-AA battery back-to-back holder | $0.74 |
| JST Connector for GPS | $0.61 |
| straight male headers for display/mating | $0.19 |
| right angle headers for button/servo | $0.50 |
| 220ohm resistors | $0.02 |
| 0.1 microfarad caps | $0.20 |
| 2×8 pin 200mm dual ribbon cable | $1.68 |
Assemble the shield
- Place the Arduino on a table top and insert 4 banks of straight header pins (8, 8, 6, 6) into the female header sockets, “long end down”. Mate the shield to the tops of the pins and solder the pins to the shield.
- Solder the 11-pin Pololu switch module to the shield PCB using 11 straight header pins.
- Solder the 3-pin Pololu boost regulator module to the shield PCB using 3 straight header pins.
- Solder the tiny 6-pin GPS JST connector to its position at the edge of the shield. This is the trickiest part and may require some work with a solder wick to remove excess solder.
- Solder 2 8-pin headers for the display connector to the shield PCB. For the version 1.1x versions of the shield, which have the display connector on the side, these pins extrude (point) downward, so that the ribbon cable is actually snapped to the underside of the shield. This make the assembly somewhat narrower.
- Solder the 3-pin right-angle servo motor connector.
- Solder 2 8-pin rows to the display.
- Solder a 4-pin straight (or angled) header for the button.
- Snip one end off the 4-pin cable and solder to button terminals. If you look at the terminals as a smiley face, the connections are, #1 (LED+) red, #2 NC, #3 (btn) black, #4 (btn2) yellow, #5 (LED-) white.
- Solder the 220 ohm resistor to the shield (this is the LED current limiter)
- Solder two 0.1 microfarad caps to the appropriate spots on the shield.
- Solder the batter holder terminals to the battery connector.
- Connect the servo to the 3-pin connector.
- Connect the 4-pin cable to the 4-pin connector (pin 1 is LED+)
- Connect the 2×8 display ribbon cable to the display at one end and the shield on the other.
Assemble the latch
This is where things get a little touchy-feely. There’s room for lots of creativity here. I use two basic latch designs, the “piston” design, in which a dowel rod is driven into a hole, or the “cabinet latch” where an ordinary hook is rotated into place.
All my designs use a hobby servo motor to latch and unlatch the box from the interior. Remember that a servo motor can be electronically turned only to an angle between 0 and 180 degrees. The “piston” design translates that rotary motion into linear motion. When extended, the dowel/piston engages an L-hook or eye-hook or some other protrusion in order to lock the box. The cabinet latch uses the rotation directly to move a latch hook into place.
Modify and upload the software
I’ve written a short sample sketch to help you get started building a puzzle box. It’s just a skeleton outline, without any of the automatic configurability or extra features of real Reverse Geocaches have, but it should prove a sufficient framework for a basic box. The code is licensed under the Creative Commons 3.0 by-nc-sa license. By downloading it, you agree to the license terms and that you will not use the code commercially. You further acknowledge that “Reverse Geocache” is a trademark referring specifically to my designs, and that some of the technology shared here is patent pending.
Mount the electronics and latch
<TBD>
Notes
Reverse Geocache™ is a trademark of Mikal Hart.
These instructions and the sample source code and licensed under the terms of the Creative Commons “Attribution Non-Commercial Share Alike” license, version 3.0, which grants the limited right to use or modify it NON-COMMERCIALLY, so long as appropriate credit is given and derivative works are licensed under the identical terms. See here for license details.
The Reverse Geocache Puzzle and some of the technologies described here are patent pending.

June 9th, 2011 → 3:34 pm
[...] the-reverse-geo-cache-puzzle [...]