Reverse geocache box

firmware



STM32 Cortex-M3 development under linux

ARM Cortex Tutorials

Photos

Geocaching is a hobby which consists in leaving a container (the cache) in a location whose GPS coordinates are published to allow other members of the community to visit it. A reverse geocache box has a similar principle, the box is locked from the inside and unlocks itself only when it is in a precise location. To help its owner to find this location, each time it is activated, the box tells him the distance to the objective.

For example :

The owner switches the box on (pushing on the only switch);

The displays reads Waiting for GPS signal as well as an indication of the signal strength;

When the GPS has a fix, the display reads You are still xxx meter from your objective and switches off after a few seconds;

If the box is located at the right place, it reads Congratulations, unlocking, unlocks itself and switches off.

Principle of operation

Principle of operation.

The box is built from a Keymaze 700 trail GPS watch found in trash because of a broken LCD screen. The good thing with this watch is obviously that it contains a GPS but also a STM32F103 microcontroller which can be programmed through JTAG (with my buspirate and OpenOCD), the JTAG signals being clearly labelled on the PCB. The PCB has also a few push buttons connected to the microcontroller.

For the display, I used a mobile phone LCD driven by a ST7579 controller. And the locking system was scavenged from a laptop CD drive.

The GPS Watch

The original GPS watch and its circuit board (already modified)

This GPS watch has a few very useful features :

A GPS module connected to a microcontroller which I can re-program,

A power manager IC : power on and off, battery loading (LT3455 equivalent),

A good battery.

I just had to add a LCD and the locking system and fit everything in a box.

The locking system

Locking system taken from a laptop cdrom drive

The system is quite simple, it is a small lock moved by a continuous current motor through several gears. When the lock is in the open position, it activates a switch. To open the box, the microcontroller powers the motor (through a transistor) until the switch is activated.

The LCD screen

LCD module used

The LCD module comes from an old mobile phone. It is a graphical LCD with 65 rows and 95 columns driven with a SPI protocol. The use of a serial protocol is quite advantageous as it necessitates fewer wires, less soldering and fewer pins of the microcontroller.

Pictures