Guest post: Building my “Simon Says” smart cache

This guest post, detailing how to build an awesome Simon Says type gadget cache, is by Hyliston, a Geocacher from Massachusetts. It originally appeared on his own Geocaching blog, on April 29th, 2016. You can read more about him at his nicely done profile.

I actually built this cache last summer, but still get tons of requests for instructions on how to make it. I didn’t document everything as I went, but this should help people who are interested in building something similar.

Inside Simon Says

The cache page for GC5PTYV: Simon Says can be found here.

The Cache Container

I did not take many photos of the container as I was building it.  Sorry.  But here a few things I kept in mind as I figured out the final dimension:

  • I needed the main panel to fit the four buttons and a 3 AA battery holder
  • I wanted to use a metal Pokémon tin as the cache container, so I had to make sure the cache compartment was big enough to hold it
  • I wanted the cache door to open on its own, so I had to leave space for a latching mechanism

I knew I wanted to try to make the outer container as a birdhouse.  So, the main button panel and the cache container determined the width and total height of the birdhouse, while the depth of the Pokémon tin determined the depth of the birdhouse.  It actually ended up being pretty close to the dimensions for a bluebird house.

I ended up building the birdhouse out of red oak, which was a mistake: it is HEAVY!  I was concerned about the steel pole holding it up properly, but it seems to be doing a good job, along with the tree behind it at the final location.  Because people will be pressing the buttons, I’d recommend some kind of object behind you final cache, so that they don’t push the whole thing over.

Simon Says Open by marcipanek
Simon Says Open by marcipanek
Simon Says Latching Mechanism
Simon Says Latching Mechanism

You can see the steel pipe and tree behind the cache in the left photo.  In the right photo, you can see the latching mechanism in more detail.  The bolt with the spring around it is slightly compressed when the door is closed, and pushes the door open when the latch releases.  Above the bolt, you can see a bent piece of metal with an orange wire tied around it.  It acts as the latch. A small hole is drilled for the wire to go through, which connects to the servo in the chamber above, which is where all the electronics are.  When the servo spins, it pulls on the orange wire, lifting the latch and allowing the springed-bolt to push open the door.

The Circuitry

For the circuit, I thought through what I wanted: an Arduino microcontroller, 4 different colored lights (preferable the same as the classic Simon game), 4 buttons, a speaker for sound, a way to power the cache, and a way to open the cache door.  Ideally, the 4 lights and 4 buttons should be the same object – that is, the buttons themselves should light up different colors.

The Prototype

Based on this, I decided to try and build a mock-up using parts I already had from Maker Shed’s Ultimate Arduino Microcontroller Pack, which my wife had gotten me for Christmas the previous year.

I made a video of the prototype in action:


You’ll notice a few compromises: all of the colors were red, the buttons and the lights were separate, and the power supply was coming straight from my computer over a USB cord.  This was just a proof of concept, and I was satisfied I could scale it up.  If you’d like to copy it, here is a circuit diagram of the prototype (minus the servo) from Sparkfun:

Simon Says Prototype Fritzing Diagram
Simon Says Prototype Fritzing Diagram

The Final Circuit

Here is a parts list for the final version (remember, I used small parts from a kit to prototype it), along with a rough cost in USD.  I have no affiliation with Adafruit.

You’ll also need a bunch of M-M jumper wires.  The servo can pull over 600 mA of current, which is why I went with Adafruit’s PowerBoost 1000 as my voltage converter.  When I tried a lesser step-up converter or a 9V battery connected directly to the Arduino, the circuit would brown out and fail when a signal was sent to the servo.  Short of plugging the whole thing into the wall, I never found another good solution for supplying power.  I also went with a slightly more expensive servo with metal gears.  I figure this will keep the gears from getting stripped.

Between the wood, hinges, electronics, etc., this cache is likely to cost you $100.  Keep that in mind when you determine if you want to build it and where you want to place it.  I ended up putting mine in a somewhat out-of-the-way location and making it a multi so that it takes a bit of work to find.

You don’t have to, but I also swapped out the LEDs and diodes that came with the arcade buttons with ultra-bright LEDs.  You can read more about my LED experiments here.

The Program

While I’m sure this would have been great fun to code from scratch, I started with some “Simon” code from a guide on  This code does way more than I need to it, including a head-to-head memory battle.

So, I started by stripping out anything that wasn’t for the one-player game.  I am playing a song, but not the entire Bee Gee’s Stayin’ Alive, so I also got rid of a bunch of musical note definitions that piezo buzzer wouldn’t use.  I also dropped the requirement to win from 13 to 10.  You’re welcome.   If you want to be a real bastard, feel free to increase that number (line 87) and the speed at which the buttons light up (line 170).

If you look at the top image of this post, which is the inside of my Simon Says cache, you may notice that there isn’t an Arduino UNO board in the picture.  I wasn’t willing to leave the $25 micro-controller in my cache, so I just used the main integrated circuit, an ATMEGA-328P.  It’s the long black rectangular thing in the middle-bottom.  I attached a timing crystal and two capacitors and it acts like a stripped-down Arduino.  All just to save $20.   I did a lot of reading to figure out how to do that, and unless you do too, your cache will look different than mine (because you’ll have a full Arduino inside yours).  Fair warning.

If I had to do it again, I’d probably just get an Arduino Nano and leave it in the breadboard, just like my Shave and a Haircut cache.  If you were to do that, your circuit diagram would look something like this:

Simon Says Wiring Diagram
Simon Says Wiring Diagram

The Final Result

Here is the cache in my shop.  The blue light is a bit dim, but it is much better in person.  This video is in the Hint for the cache.


If you decide to put a “Simon” cache out in the wild, please let me know!  I’d love to follow it and see the reactions of geocachers in your neck of the woods.  Thanks and good luck!