Garmin’s most recent outdoor GPS units sport a USB port instead of the strange proprietary connector they used to have. That sounds great, except that Garmin’s gone more proprietary on the protocol they use to send location data over that connection, abandoning NMEA in favor of Garmin’s own protocol - exclusively.

I’ve been editing Mapping Hacks (coming soon), and marveling at the intricate dance between proprietary and open that swirls throughout the entire mapping space. Public data is great to have but often buried under or repackaged as for-pay products, in those countries where it’s available. Mapping formats vary, but often have at least proprietary roots. GPS devices sometimes have their own protocols, but NMEA 0183 at least provided a baseline of openness, a common expectation software developers could rely upon.

While looking through the Amazon reviews for Garmin’s latest Vista C and Legend C, I found some red flags:

However, the USB connectivity will only connect you to proprietary Garmin cartography software, it is NOT NMEA compatible. (Legend C)

It will no longer work with a Macintosh. The software loads and works easily using VPC as did the software for the prior version. However the USB driver provided by Garmin will not work with a Macintosh and there does not seem to be an alternative according to the technical support at Garmin. (Vista C)

Finally, although the Vista C includes a speedy USB port for transferring data to your PC, be aware that many third-party vendors can’t or won’t support it. DeLorme is a primary example. As a separate review of their TOPO 5.0 product states, DeLorme knows they can’t read Garmin USB data, and despite frantic pleas for help from their customers, they have reacted with what can best be characterized as a huge yawn. (Vista C)

Curious, I called Garmin this morning. I didn’t get the name of the lucky recipient of my call, which got angrier as it went on, but he confirmed that Garmin has in fact dropped NMEA support. He was happy to report that their protocol was in fact proprietary. I asked why they did this, and his reply was that “our engineers decided to support Garmin software.” If I wanted that changed, my only recourse was to request a feature or buy a different unit.

I’ll put in the feature request, though I can’t say the phone call gave me much hope that Garmin is interested in any such change. We can, of course, use Garmin’s protocol documentation, but that also has some interesting bits:

Q: The Internet has information about additional protocols and extensions that are not described in the document. Why have these been left out?

A: Part of the goal of the document is to separate what GARMIN thinks is safe versus what is unsafe when
interfacing to our GPS products. Any items left out of the document are considered to be “testing aids” for use by our engineering and manufacturing departments only. As such, we do not require all products to have all testing
aids, nor do we require the testing aids to be implemented in the same way in every product. In fact, there is a wide
variation in these testing aids. Worse, some testing aids may have side effects that are undesirable for anything but
testing…

Q: Where can I find example code (e.g., for converting time and position formats)?

A: We are currently unable to take the time to compile this information…

Q: Where can I find some sample data transfer dumps?

A: We are currently unable to take the time to compile this information.

6.13 of the Garmin specification does provide the PVT Data Protocol, “an alternative to NMEA so that the user may permanently choose the GARMIN format on the GPS instead of switching back and forth between NMEA format and GARMIN format.” That may be the place to focus for people who want to use Garmin units but want to connect them to a broader range of software than Garmin itself provides. Some software already supports PVT, and more may have to unless Garmin has a change of heart.

Why would a manufacturer walk away from a baseline standard?