[Lilug] Why GPSes suck, and what to do about it
ecojimb at gmail.com
Mon Feb 23 14:53:24 PST 2009
Don't have time to go into it all, but this isn't the only GPS protocol,
just the only one that is (mostly) standard. Yes it is a bear, but a modicum
of perspective here. I had the fun (?) of hacking together a small MNEA ap
for a marine GPS unit about a decade or more ago.
1. It dates back to the days of the dumb terminals and slow RS-232 serial
2. At first, it was only intended to allow communication between Loran
receivers and autopilots. A short while later, depth finders and some other
equipment added to the same serial cable. The 1 second delay was so that
these asynchronous "talker" units wouldn't step on each other's sentences
and corrupt the data for the "listener" units. A pure hack as a standard,
but fast enough and accurate enough is all you need to do is get close
enough to a buoy to see it with binoculars.
3. Having any GPS unit was unheard of until much later, so they were simply
added in to the system. At the time they only put you to within 100 meters
of the stated position, and boats don't go that fast.
4. I use to be able to download the specs from the NMEA web site, but I
guess they felt that they were loosing control, or needed money, or some BS.
5. The "standard" includes sentence templates for the manufacturer's even
more proprietary sentences. The company that manufactured our unit was open
enough to just send me their sentences. The tech support person didn't seem
to understand them and was sceptical about anyone working with them. The
specs. did let me write code that would report its vendor, model, and
firmware version; change the set of sentences it ships per cycle; change the
baud rate at which it reports; and change the number of samples it reports
per second. There were even proprietary sentences for downloading and
uploading waypoints, tracks and doing other things that we were more
interested in. This is much more like writing drivers for cards than writing
web aps. This is still fairly typical of higher end units.
6. There are better protocols, but they are even more proprietary and mostly
much more expensive. Unless someone starts designing open source circuits to
build the hardware, we are stuck with a trade-off. There are cheap hobby
units or expensive pro units and even highly accurate specialty units
that cost a good annual salary. WOW do they work well! They even get through
light tree cover and put you to a centimeter or so without a long
occupancy. I am luck enough to get to use them occasionally, but not on my
After everything else, as talkers to computers or equipment where you don't
need built in maps, it is still hard to beat some of the cheaper Garman
units. At the more power consuming augmentation settings, 3-4 meters is
possible for only $150-$300. There is also a very big helpful hobbyist
community to turn to. With other inexpensive units, you are pretty much on
So right now, if you only need to get within 3 or 4 paces on a tight budget,
you pay for it by getting stuck with NMEA-0183 for a couple of hundred bucks
or NMEA-2000 more $. To within a foot or so with fast response, proprietary
aps and prices in the mid to upper 4 figures. Past that, its into 5 figures.
However, if your are really rich, you can design an open protocol and a
cheap receiver board that uses it. Then give it to the rest of us. I'l be
glad to take one, or more. Open source software works out very well But
NMEA-0183 and NMEA-2000 are the standards of a HARDWARE manufacturers'
association and open hardware protocols and open source hardware designs are
always a problem. Again, this is like writing drivers, slow standard hooks,
and the fast access protocols belong to the manufacturer and differ widely.
On Mon, Feb 23, 2009 at 8:24 AM, Justin Dearing <zippy1981 at gmail.com> wrote:
> An interesting read from RMSes blog.
> Apologies for the html to the mutt crowd, its what google reader sends out.
> Sent to you by Justin Dearing via Google Reader:
> Why GPSes suck, and what to do about it
via Armed and Dangerous by esr on 2/23/09
> I'm the lead of the GPSD project, a service daemon that monitors GPS
> receivers on serial or USB ports and provides TPV (time-position-velocity)
> reports in a simple format on on a well-known Internet port. GPSD makes this
> job looks easy. But it's not — oh, it's decidedly not — and thereby hangs an
> entertaining tale of hacker ingenuity versus multiple layers of suck.
> Lilug mailing list
> Lilug at lilug.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Lilug