Markus' Blog

Little Reverse GeoCache

by on Jun.19, 2010, under Electronics

A few months ago I stumbled across the very first Reverse GeoCache project by Mikal Hart. I was fascinated by the idea and decided to build one of my own.

What is a Reverse GeoCache?

Like any other GeoCache it is a box that is linked to a certain coordinate on earth. The challenge is to find this coordinate, in order to access the contents of the box.

Other than with ordinary GeoCaches you do not need to find the box at the target coordinate: You will already have it when the puzzle starts. But the box is closed and it will only open when you are near the target coordinate. In order to find the coordinate, the box has a button: When you press the button, the internal GPS receiver will detect the current location and the distance to the target will be displayed. Of course the number of trials is limited. If you press the button too often, the box will be sealed forever.

Starting the Project:

One of my main goals for the new Reverse GeoCache was to make it much smaller in size. Of course I also wanted to add some new features. I have been working on this project for about four months. After finishing two fully functional prototype versions I now consider it “production/stable” 🙂

Technical data:

  • Size: 95mm x 73mm x 53mm
  • Weight including batteries: 199g
  • Maximum payload size: 57mm x 53mm x 9mm
  • Power supply: 2 AAA cells
  • LCD: 2×16 characters


  • Piezo buzzer for some sound feedback
  • Each try is logged to the internal EEPROM. By using a secret key combination the logs can be shown on the display. So if you know how to do it, you can see how clever the puzzle was solved (or not). There is also a RS232 output to send the data to a computer.
  • Emergency open by software: You can reset the box if you know the key combination (The piezo buzzer was a very important precondition for implementing this feature).
  • Emergency open by hardware: You just have to remove four screws to be able to slide off the lid (I assume that none of the recipients will spoil all the fun by opening the box this way)
  • The power consumption in sleep mode is about 310uA. 800mAh rechargeable batteries should last for at least  about 80 days, assuming many tries with bad GPS reception. Power consumption will drop to about 60..70uA with the next generation of PIC controller, which should result in more than a year of operation.

Some details about circuit and software:

  • A highly efficient MAX1674 along with some SMD parts is the step-up converter I am using to increase battery voltage to 5V. The LCD and the servo require this voltage – otherwise I would have preferred 3V3.
  • The GPS receiver is taken from a Haicom HI-204 SiRFStar III PS/2. It is the device that draws the greatest current. So I use a BS250 MOSFET to cut the power supply when not needed.
  • The LCD and the servo are connected to a second MOSFET, so they can also be powered down.
  • The controller is a PIC18F2520. I have started with a much more efficient PIC18F14K22, but it turned out that I needed more program memory to implement all of the cool features. Now I am impatiently waiting for the PIC18F26K22: With its nanoWatt XLP Technology I expect an enormous decrease of power consumption (especially in sleep mode). Also it has some cool new hardware features built in.
  • The software is written in C. It used 10kWords of 16kWords available in the PIC.
  • The custom PCB has been designed using KiCad. I have used the toner transfer technique to print the board.

What I might implement in future revisions:

  • Adding a low battery warning by using the PICs ADC (the LBI feature of the MAX1674 turned out to draw too much current!).
  • Allowing reprogramming the target location by key input or via connection to a PC instead of having it compiled in the program code.
  • Using the power down feature of the MAX1674 in sleep mode in order to save even more power (requires new controller that works with lower voltages).
  • And finally one of the most interesting features IMO: Adding a tiny GSM module to post a SMS each time the device has detected the location.

[Update] Project files:

The project files come without warrenty of any kind. They are free for non-commercial use.

:, ,

6 Comments for this entry

  • Nightmooni


    Will you by chance ever be publishing a build log or instructions??

  • Andrew B

    Nice box, although you dont seem to be able to get much in there? I made mine a while ago slightly larger so I could put stuff in it. Also I decided against having a ‘try’ limit and instead made it require multiple locations – If I did it again though Id put a clock in it make it only work for 24 hours from the first location.

  • jim

    can you please, please, please put up some schematics or a build log on this? i’m trying to build one myself and running into a bit of trouble…

  • nevermore78

    That’s nice! I wouldn’t have put a display showing distance, though. It should be easily solved using a handheld GPS and some math (4 or 5 [wisely chosen] tries should be more than enough, I guess). How about giving an audio clue instead? some sort of frequence-of-tone-maps-to-distance thing…

20 Trackbacks / Pingbacks for this entry

Leave a Reply


Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!

Visit our friends!

A few highly recommended friends...