In June of 2014, I finished one of the coolest projects on which I’ve ever worked. Coolest, not in terms of what it was (others have done it, there’s even a guide on learn.adafruit.com from 2012), but what it represented. I helped my best friend build a Reverse Geocache Box that he then used to propose to his, then, girlfriend! It successfully navigated her, not just to a single location, but a string of locations across 3 states, over 3 days to her final destination where the box opened and my best friend was there to ask her to marry him. A very lovely wedding and four and a half years later, technology has gotten better, faster, and more affordable (as technology does) and the possibilities for building a new version of my favorite project are mouth watering. But what really stands out to me is the possiblity of using Adafruit’s Feather system with Adafruit’s CircuitPython. It will be easier to build (way less soldering), more compact, and way easier to program. Here the two main things I will need from CircuitPython to complete the next iteration of this project.

Interrupt-Driven Reverse Geocache Box

What is a reverse geocache box, you say? In the simplest of terms, it’s like a regular geocache, except you start with the cache locked in a box that is location aware (it has a GPS). You take the box to the appropriate location and it will open up! How do you know what location to take it to, you ask? There is a screen on the top of the box which tells you what direction to go and how far to go in that direction. It’s probably best to bring some maps with you or use Google Maps to try to determine where you really need to go as it only gives you simple distance and direction. Sounds cool, huh?