GPS project: the first steps

ArduinoAbout a year ago, I decided to get more involved in areas of development that I knew little about in order to grow as a developer. One of the areas I was interested in was hardware, and in particular the Arduino platform.

I recently followed up on that decision by ordering an Arduino and several expansion shields (purpose built boards that plug directly into the Arduino to add functionality).

I have several ideas for ‘duino projects, but most are abstract ideas that still need a practical application, or require a bit of hardware (electronics) design, which is a separate area of learning that I am picking up as I go. I wanted to start with something that I was interested in as a complete project, and that I could use in a practical way.

Since we hike, do some orienteering, and have an interest in geocaching, a GPS project seemed like a good direction to go. There is a great amount of documentation on interfacing with GPS receivers and in fact adafruit has a kit that includes a connection for one of several different receivers and an SD card slot for logging the NMEA sentences that the receiver outputs.

I made it quite a ways into this project before deciding to document it. While it is pretty close to software and hardware complete, I’m going to step back through some of the steps that I went through in the design and build process. I’ll be posting these over the next couple of weeks as I get the final bits of this wrapped up and start focusing on the next project.

The GPS Shield comes as a kit, so it was time to polish up my soldering skills. The assembly goes pretty quickly, especially if you follow the  instructions. I don’t have any pictures of the build, but there are plenty of them on the step by step pages at the adafruit website.

With the instructions and sample code from adafruit I was able to get the logger up and running within a couple of hours. Of course without a battery I could only log the position of my chair! Using my laptop as a USB power supply, I tested it on a trip to the local home improvement store. While the GPS “wanders” when sitting still, I was quite impressed with the accuracy that I got while moving.

Overall I was quite impressed with this setup. With the addition of a battery and case you could easily use it as is, out of the box.

Next I’ll detail the overall design that I had in mind, and move on to the build and code challenges that I met.