TinyGPS 13 has been released. This latest revision improves the algorithm used to transform the raw NMEA latitude and longitude values into floating-point numbers representing decimal degrees. You may not have noticed any problem, but prior versions of TinyGPS generated values that were accurate to only about 5 decimal digits, or about 1 meter. Version 13 is accurate to about one millionth of a degree (six decimal digits), or about 4 inches.
Before you get too excited about being able to locate your quadcopter within 4 inches, let me remind you that most commercial GPS receivers don’t have anywhere near that accuracy. What TinyGPS 13 promises to do is be as faithful as possible to the data it was given. But it can’t cure hardware inaccuracies.
It is worth mentioning that if you are using an ARM or x86–that is, a processor that can support 64-bit C++ “double”s–you can gain still a bit more accuracy by changing all the “float”s in TinyGPS.h and TinyGPS.cpp to “double”. It makes no difference at all on an Arduino Uno or Mega, because on these processors “float” and “double” are both 32-bit. True accuracy to millionths of a degree is just slightly beyond the capacity of a 32-bit float. (We didn’t make the change to double ourselves, because that would break too many already-written programs, including, for example, our own Reverse Geocache™ Puzzle sample code.)
A forthcoming derivative, TinyGPS++, will have this feature and many more.
Luc
11 years ago
Hi Mikal
as I’m starting to learn on using the great Arduino Uno, I’ve been referred to your TinyGPS library by several users, which spoke very highly of it & its performance. I’m looking forward to trying it out with my Uno, but I’m a bit confused on what the sketch should look like.
For instance, if I wanted to use TinyGPS to only print one line that has date, time, valid latitude, and valid longitude, do you have a complete sample sketch that I could use as a guide? Thanks so much! L.
Mikal
11 years ago
@Luc,
If you look in the “Examples/TinyGPS” menu, you’ll see some of the sample sketches that come with TinyGPS. Does that help?