Starter GPS Project recommendations

I've done a couple of projects with the UNO and would like to do a GPS project. I have found a couple in the forums and other places on the internet. Every project uses different boards, different GPS modules and different methodologies. Being totally unfamiliar with how the GPS systems work with a UNO, or any other Arduino board, I'm not sure which is the best way to go.

Ultimately I would like to build a autonomous boat and put in way points for a course. But by learning one part I can build on that to reach my goal.

Where do I start? Where can I find the best info on how to incorporate GPS into my project? Any books on this topic out there? Any recommendations as to other projects others have done will be greatly appreciated.

Thanks in advance

I would suggest looking at the Troubleshooting page for my library, NeoGPS. It describes the timing issues that affect your sketch.

While my library is faster, smaller and more configurable than all other libraries, understanding these issues is important, regardless of which library you use. The examples programs also show the correct loop structure. Many other libraries' examples will break when you try to modify them "too much", add delays, or try to print too much information.


For an autonomous boat, in addition to the GPS, you will probably want to use a magnetometer (electronic compass) to report the boat's actual heading.

This is used to calculate the deviations from the heading you obtain from the GPS waypoints, which in turn will be used to correct the steering.

If you need to brush up on the math behind lat/lon navigation, this reference is excellent.

Beware that the Arduino does not support double precision floating point math, so special tricks need to be used to deal with the many digits required for accurately representing latitude and longitude positions. I use the "equirectangular approximation" for distance between waypoints and course heading in autonomous models.