Search
GPS Buying Guide
Updated with SUP500F on April 20th, 2010.
There's lots of options out there for a GPS receiver. This guide will hopefully help you navigate (cough) through the forest of options. What is all that? Those are NMEA sentences. You can view the text coming out of these GPS modules using any old terminal program. Is the example above, can you pick out the 4003.8914 longitude and 10512.5933 latitude? That's where SparkFun lives! We use GPS Visualizer to convert these numbers to something that google maps can understand. See 203710.000? That's the current time, accurate down to a few miliseconds. See 250309? That's today's date - March 25th, 2009. There's a bunch more data there (altitude, speed, heading, satellites in view, etc), but the key is that you can easily record this data to a CSV file or write a program (even on a microcontroller) to capture and evaluate the data. Criteria to think about when shopping: Size:These modules are getting smaller every day but figure out what your application is. As a general rule, the smaller you make the module, the more likely you are to have antenna problems (longer lock time, less accuracy, etc). Update Rate:How often do you want an update? 99% of consumer devices (think in-car navigation) operate with a 1Hz (or once per second) update rate. Your car simply doesn't move fast enough that we need to know where you are on the globe more than once per second. There are some applications, such as planes and UAVs, where you need greater update rates. 1Hz was the standard. 5Hz and even 10Hz are becoming available and cheap. You can always configure a GPS receive to slow down, and update less often (1Hz) if your microcontroller or application can't handle all the NMEA data. Power:
GPS units are taking in large amounts of timing data from the satellites and crunching it down. Then they output 'you are here'. They do a lot of heavy lifting, and therefore use some juice. The current average is around 30mA at 3.3V. 30mA may not sound like a lot, but it's a lot. This power is coming down over time and we hope to see it in the ~1 to 10mA range in 2010. Cost:The price of GPS modules are all over the place. A good, 1Hz receiver is well under $100 and always dropping. Be sure to shop around. Number of Channels:This is a great sales ploy in my opinion. You'll see GPS modules that have 50 channels of tracking. Why!? There's only 24 GPS satellites, and it's impossible to stand on the globe and be in view of more than 12 at a time. All modules designed since 2008 have more than ample channel tracking (the ability to track multiple satellites at the same time). I don't even consider this when shopping. Antennas - it's ceramic, point it up!
Many modules come with this chunk of something on top of it. What is that? That is a precisely made chunk of ceramic. Each antenna is finely trimmed to pickup the GPS L1 frequency of 1.57542 GHz. Sound expensive? Well, they make a lot of them. There are some other GPS antenna technologies (chip, helical), but they are not as common, a bit more expensive, and require significantly more amplification and filtering. Accuracy:How accurate is GPS? Well it varies a bit, but you can usually find out where you are, anywhere in the world, within 30 seconds, down to +/- 10m. Amazing! I say +/- because it can vary between modules, time of day, clarity of reception, etc. Most modules can get it down to +/-3m, but if you need sub meter or centimeter accuracy, it gets really expensive. I've heard stories of such fabled GPS receivers, but I have never gotten to touch one. Someone please prove us wrong. For more information on GPS accuracy, see the GPS Tracking Comparisons Tutorial. Our Picks:Below we list our favorites first. Remember, we are completely biased. We've used a lot of these modules, and we apologize to the companies that spent a lot of effort designing them. This is just what we think... SUP500F - the new kid on the block. This GPS receiver has so many great features.
Pros:
Cons:
Other:
EM406 - the workhorse. This GPS receiver works very well.
Cons:
Other:
The Locosys LS20031 module is a very good module!
The Venus634FLPx is an interesting candidate.
EM408
The GS405 and GS406 are nearly identical.
The SiGe GN3S Sampler is a very powerful, very hard to use GPS receiver.
The San Jose Navigation unit, aka EB-85A.
Copernicus is a good SMD module from Trimble.
The Lassen iQ is a classic. But its days are numbered.
Other:
There are many other options from SparkFun and from the rest of the world. They're not listed here because we don't particularly find them interesting. Let us know if you find one that we are missing! |
||||||||
Feeds
Currency
Display prices in
Feedback
If you would like to tell us more, you can fill out our form if you need some psycho-suggestive questions. Go to the form.



















I'm sure we'll see prices drop. Just image the stuff we could do with even centimeter accuracy!
These are not likely to show up at prices that most of us could afford. They are also not small devices and use special antennas to minimize multipath errors.
The next big improvement in GPS will come when the new satellites start broadcasting on the new L2C and L5 civilian bands, and low cost chips that use these signals become available. Using the L1C and L2C, or L5 band, dual frequency receivers will be able to compensate for most of the atmospheric caused errors. In addition, the new signals have other significant improvements which will improve low signal acquisition and increase reliability and accuracy of tracking. This is scheduled for 2011-2013. It will be interesting to see if these improvements in the navigation signals result in more power efficient along with more precise receivers.
The first satellite capable of L5 [for testing] was just launched this week!!!
Read more about this here:
http://en.wikipedia.org/wiki/Global_Positioning_System
http://en.wikipedia.org/wiki/GPS_modernization
What do you mean by XYZ coordinates? Most GPS have long/lat coordinates (XY?) and I don't know of a module that does not have altitude (Z?).
ie... if a plane was flying in still air and it was in a 45 deg dive @ 30 knots airspeed , would the gps speed register 15 knots or 30?
I am currently embedding a very precise GPS receiver in a device I'm creating at work which I expect to get +/- 10cm accuracy, thanks to real-time streaming corrections from a commercial subscription service that operates their own geostationary satellites. That level of accuracy does allow the Z axis information to be quite useful.
For a good overview of where GPS errors come from and how they can be corrected -- and, indeed, a great introduction to GPS in general -- see http://www.trimble.com/gps/howgps-error.shtml. No, I don't work for Trimble, but they do make some good equipment.
The GPS/GLONASS and soon-to-be Galileo satellite constellations are basically a bunch of orbiting atomic clocks. Well designed receivers can be put to many interesting, truly geeky projects (see the http://www.febo.com, the timenuts mailing list at time-nuts@febo.com, and their ilk). With care these devices can provide time information down to the 20 nanosecond level.
-- Dave
A lot of the GPS receivers cut out at 18,000ft. It would be very useful to know whether or not your receivers work up at balloon altitudes.
To start the ball rolling:
Lassen IQ's work as high as we have tested them (33km+)
Anything SirfIII-based cuts out at 24km.
Ublox-based stuff (eg GS406) works up to 50km altitude if you set the correct mode with the UBX protocol.
Ed
www.cuspaceflight.co.uk
I am not certain, but I believe that the data output from the GPS modules is 2D in nature. This may be due to the poor accuracy of the vertical axis info provided by GPS. (Including the altitude info would degrade the accuracy of the overall speed)
It may also be that the vast majority of users want it that way...
For more info on NMEA sentences, check out http://gpsinformation.org/dale/nmea.htm (or just search Google).
struct termios term;
int fd = open(path, O_RDWR | O_NOCTTY | O_SYNC);
tcgetattr(fd, &term);
cfsetispeed(&term, baud);
cfsetospeed(&term, baud);
term.c_iflag = 0;
term.c_oflag = 0;
term.c_lflag = 0;
term.c_cc[VTIME] = 1;
term.c_cc[VMIN] = 1;
tcsetattr(fd, TCSANOW, &term);
Some people increase the GPS baud & enable as many output parameters as possible to flush the buffer.
That being said, it sounds like you are after a compass module - about $60 on here, and they have a couple so you can choose SPI/I2C interfaces,etc. An advantage of a compass is also that your headings would be relative to a fixed point (say the bow) rather than relative to the direction of drift. A GPS would give you the course you are drifting, which in a boat (unlike a car) is rarely bow-first, whereas a compass gives you the direction relative to the direction it is pointing. Say you are looking off to port, its pretty easy to get an absolute bearing rather than having to guesstimate which direction you are floating relative to which direction you are looking.
Not that I've gotten around to playing with either gps or compass modules yet, just my $.02 - planning on picking up both in the near future (too many gps choices :) )
EB-230/EB-270 from transystem - looks like but no docs, no support.
Also recievers integrated in telit GM862/GE863 - it simplest and fastest way to realize locator/tracker.
Now i use Telit GE865 (GSM/GRPS) and UBlox NEO-5Q (GPS). PCB dimensions 43 x 23 mm (without GSM antenna and battery). As to antenna i use ceramic but want to try Helix (passive and active to compare accuracy). All shematics and pcb available from htpp://akb77.com/g
Can anyone suggest what I would use for this?
they have usart interface/bluetooth!! so i guess they are easily hackable.. other specs also look better.
has anyone tried it?
Sob/ I didn't find this topic mentioned here or on the GPS product pages..
So I did a bit of internet diving/ and am now aware that WAAS and EGNOS are instances of SBAS/ DOH..
I looked at a few sparcfun modules for statements about WAAS/ SBAS/ EGNOS resolution and have found...
EM406-A / EM408 with WAAS resolution is 5m
LS20031 GPS 5Hz WAAS resolution of 2.5m (datasheet)
GS407/ 2.5M normal, <2.0M (SBAS) WAAS/EGNOS
copernicus is specified in lots of detail/ horizontail 2m SBAS
(and others)
===
Couple of comments then - the buyers guide could explain SBAS and WAAS and EGNOS and the asian one... - or at least link to the Wiki pages.
The product pages could usefully list support for SBAS/ and claimed resolutions:).
There was a single mention of DGPS on a product page which I ***think*** is the generic term for SBAS [new style GPS +lots] and Ground-Based-AS [old style GPS+a bit] so probably actually refers to SBAS - which almost all the modules you sell support..
So that isolated mention just confused me for a bit
I entered the numbers for your location into the GPS Visualizer, and it showed me a spot off the West coast of Africa! You have confused latitude and longitude (the value given for lat. is actually long., and vice-versa). Additionally, since the longitude is W(est), the value must be negative, or you will be shown a location in China!
Correct values are:
Latitude: 4003.8914
Longitude: -10512.5933
Thanks for the great buying guide!
I have long wondered what I would ever need one of these for, but I now have a potential application. I would like to track my RC aircraft with a video camera on a tripod using a pan/tilt system. The problem is I'm not sure if the performance of GPS modules is up to the task yet. I can adjust for accuracy error, but if the repeatability is poor, then this just wouldn't work. Any experience with this would be nice. Or if anyone has done anything similar, let us know.
Without using military-level hardware or additional (and expensive) accuracy-improvement systems like WAAS and DGPS, the advertised accuracy of GPS is 50m. Practically speaking, the computed position will randomly wander around this circle. Averaging can improve accuracy for stationary targets, but the problem gets harder for moving targets like your aircraft.
http://www.sparkfun.com/commerce/tutorial_info.php?tutorials_id=169
-Aaron