the beginings of my GPS, Navigator, Tricorder

I thought I'd post some photo's of my first "real" Arduino project. It's pretty basic right now, I've gotten as far as designing and building a custom keypad, getting the code for the GPS, HMC6352 digital compass, DS1307 RTC, MPL115A Barometer, 24LC256 EEPROM's and Sparkfun serial backpack LCD display working.

This is the keypad I used Inkscape to draw the pad, printed it out on my inkjet and laminated it. The key switches are 12mm square tactile keys on a prototyping board, I got the keys from recycling old photocopier boards.

Here is my Mega with the Sparkfun GPS shield sitting on a DFRobot prototyping shield, with the HMC6352, DS1307 Sparkfun breakouts and the HUGE serial back pack LCD. When Sparkfun say huge, they are not kidding, it's 5"x3"!!!

Here is the test screen showing the compass heading, time, date, barometer, temperature and altitude. The MPL115A Barometer isn't hooked up yet, so those readings are bogus, but you get the idea.

I'll build the case in the next couple of days, but work keeps getting in the way!

I discovered Arduino just yesterday. Looking at ways of getting my hands on a kit or just a board and getting the parts locally (South Africa).

I saw the self balancing projects, and now your GPS....I am so excited to learn this!

You get to finish this project yet? :)

Awesome. I did some with GPS as well. Your project will be my next step. I have the GPS module, DS1307 and 24LC256. I have a 128*64 display sitting around. I'll try it with the GPS.

Could you post how you made your keypad?

This is the season of GPS project?!

Hi Cyberteque,

interesting solution, your keypad. Can you show the details?

What kind of navigation is your navigator intended for? If it is intended for marine navigation you have to take into account the tilt of the compass sensor which makes it useless unless absolutely horizontal.

Your screen has printed altitude on it, so I guess it is intended for a model plane. You would have to think of an inertial measurement unit with gyro and accelerometer to account for attitude estimation and then you'd have to correct a 3 axis magnetometer to get heading.

The keypad is a 5x3 array, what's the best way to post circuit diagrams here?

I was going to use this for bushwalking, I'm planning a second unit without a display. The second unit will just have a GPS, XBee, digital compass and another Mega, on my dogs harness. That way I'll get real time position and which way he is "pointed". It doesn't happen often, but sometimes we get separated on our adventures, this way I'll have at least a direction and distance to look in.


you can use the buttons right on top of the writing area.

Well, if you use it by hand, and much more on your dog#s harness, you will have to tilt compensate the compass. For that you will have to use a three axis accelerometer to compensate for tilt. You need all three axis of that, and for your dog I think you'll need a gyro aswell. Maybe for your dag just a GPS solution is easier, and will give you the same result, because you get position and heading aswell from the NMEA output. I used the chip from Honeywell 5843 for magneteometer. But I say I am not satisfied with the result, mainly because the sensitivity of the chip changes drastically if you move around with the device. That has implications for the readings which also change and make the device very unreliable in my view, unless you calibrate it before evry use. i wrote a calibration routine and I calibrate it before I use it. maybe the reason for the 'end if life' notice of this chip is exactly this property described. The new chip has an inbuilt calibration for sensitivity and offset and can be programmed to calibrate before EVERY reading, as far as I understand the data sheet of the new HMC5883L. All in all, I think a GPS solution may be easier. If you are interested to see my compass:

cheers, Andreas

Another thought: power supply.

The GPS, the RC, the LCD would need a lot of power. I presume you won't need a LCD in your dog's case, and you might choose a GPS with sleep mode which you wake up, say, every minute to take a fix and send it. And you might find an RC device that is only powered up when it actually sends something. Maybe you even find a way to make the arduino sleep and wake up in regular intervals. Nonetheless, your dog will have to carry some weight in form of battery packs.... You may also integrate a SD card to log your trip on it.

I'm getting at least 6 hours out of 8 2400mAh NiMd AA's so power won't be a problem. The only reason I thought of giving dog a digital compass is to see his avatar jump around on the screen!

check this GPS receiver!

for 29 bucks you get all you need.