Arduino - GeoSteamPunk


A while ago I read about geocaching. It looked like an interesting hobby but I don't want to invest in one of those walk-around GPS modules. Then while browsing websites like I got inspired by SteamPunk imagery. So I decided: let's combine this!

consists of

On ebay (and the Dutch variant) I bought analogue meters. Then on aliexpres I bought a cheap gps module, an arduino nano, some switches, a beeper, an Arduino lipo-charger, etc. My parents bought my an antigue wooden box. Some soldering and a lot of software hacking (dtostrf() does not always work as I expect) I finally got it to work!

what am I seeing

Below are a couple of images. The meter on the left shows the angle to the destination. The other shows how near you are (log-scale and the higher the "measurement", the closer you are). There's a beeper that beeps more frequent the closer you get. There's a rotary encoder with which you can select to show your current location in lattitude/longitude, set a new target. The black part on the rotary encoder comes from a strange metal device I bought in France by the way.
Next step: trying it in practice on a Geocaching trip!

closed box

showing direction and distance to target

show lattitude

It ping-pongs between lattitude and longitude.
I use an '_' as a dot because the dots are used as a cursor when editting the coordinates.

the inside!

The interval between beeps get smaller when you approach the destination.
The adafruit recharger is really meant for solar panels but it works with regular power sources as well.
The switch is for switching between GPS and regular serial communication so that I can easily switch between GPS source to the UART or flashing the Arduino.
The big switch on the left is for on/off of the beeper and the one on the right for power.
In the plastic wrapper is a power booster to increase of 3.7V to the required 5V. The battery is 6600mAh.
On the print you PCB you see that I kind of overestimated the number of required GND and VCC pins.
The meters are current meters and with the appropriate resistor you can set them with regular PWM. I read somewhere that you should add a capacitor to meters.
You can also see that I'm a big fan of (Patex-) hot glue.
The wooden board was designed with inkscape and cut with the lasercutter at RevSpace.

copying this design

Here's the arduino source-code including an arduino-mk makefile. Note: I'm planning a new version where the angle showed is not the angle between your location and the target location, but the angle measured while you move (or else you would need a compass).
The drawing for the plank in the plank in the casket is here. You may need to adjust dimensions of course.
Schematics will follow later. Tips for software for drawing these (on Linux, and preferably easy to use) are welcome.