Garmin Recreational GPS Units Give Pseudorange and Carrier Data!!!

Data Compiled by Jim Harris

The Garmin G12, 12XL, II+, III+, ETREX, EMAP, and G76 provide pseudorange and carrier cycle information in an asynchronous data format when correctly queried via the serial port in the GARMIN data protocol.  Indications are that Doppler information is also available.

CAUTION - USER BEWARE:  Obtaining this data involves using undocumented commands, with a risk of possible loss of information stored in the GPS unit and even damage to the internal programming, which could make the GPS unit unusable.  Any decision to explore this undocumented capability must be done at your own total personal risk.  Anyone who uses undocumented commands assumes all risks and liability that might result for any reason from such experiments.

The pseudorange and carrier cycle data from GARMIN GPS units can be postprocessed to obtain a more accurate position.  With data collection
times of from 10 minutes to an hour at a fixed position, postprocessing position accuracy with a meter down to a centimeter is achievable with survey grade equipment.  (But probably not this precise with Garmin's consumer model GPS equipment.)

See THIS  web site for details and the downloadable software; ASYNC.EXE to log binary files and GAR2RNX.EXE to convert the binary files
into RINEX files suitable for postprocessing.

Another demonstration version of software to log data from several Garmin GPS units, called GRINGO, and its associated postprocessing software, named P4 is available from the GRINGO web site link below:

Click HERE  for information, CAUTION, and to DOWNLOAD.

The crippled demonstration version of GRINGO and of  P4 permits data logging and/or postprocessing of only 1 minute of pseudorange information.

I've used the demo version for my postprocessing experiments thus far.  The full capability programs include carrier cycle logging and processing, which is needed for the accuracies identified above.  At 100 pounds (about US$145)  for the full capability programs, the cost of GRINGO and P4 are a bit pricey for casual exploration of GPS postprocessing performance.  The demo version does let us dip our toe into the waters of this fascinating pond.

Pursuing postprocessing of GPS data involves expending lots and lots of work, time, and study.  BUT, it's fun.

Here's some of my experience and findings to date.

The download program ASYNC.EXE, has serial com errors plus read failures in the logged data at higher data rates.  But it does allow an initial
introduction to what's possible.

For a consistent 6 satellites each second of data from EMAP, I had several successful 1 minute logging periods without any failure to read errors.  Read failures showed up when 7 satellites were present, or when the number of satellites was significantly changing from second to second.  Add Doppler data and the number of read failures sharply increase.

For an average of ten 1 minute samples from EMAP, postprocessing of the pseudorange only information suggests a position accuracy prediction of 1.6
meters 95 % of the time.  The average GPS position was compared to the surveyed position of a local NGS precisely determined survey control marker.

With the WAAS capable G76, the failure to read errors also sharply increased, though I was able to postprocess several 1 minute samples of the
data to obtain a reasonable average position with degraded accuracy.  (a 1.4m error in both latitude and in longitude)

Have fun.

Questions?  Comments?  Suggestions?

Send Email to JIM HARRIS

Post Processed Error Vs. Minutes of Logged Data

Caveat:  any use of undocumented commands with Garmin units or the data derived with such commands is totally and absolutely at your own personal risk.  Loss of programmed data, loss of internal functional programs, unexpected errors, and other unwanted and unexpected results could occur. This is pioneering territory, so keep firmly in mind that one historical example of a pioneer is a settler lying dead on the ground with an arrow in his back.

In December of 2001, I learned that by using undocumented commands, Pseudo Range and Carrier phase data is available from the serial data port of many Garmin GPS units, such as the G12, GIII, eMap, and G76.  This opened the door to potentially obtaining much better accuracy than what is available from either standard or differential GPS.

But improved accuracy comes with a price tag - namely time.  For single frequency measurements, the reliable standard for survey grade accuracies, using survey grade equipment and software, is one hour and more of logged data.  Another undesirable factor is that the recreational Garmin GPS units contribute significantly more errors to the measured data than the roughly 10 X more expensive survey grade equipment and introduce a half cycle ambiguity.

For a project that I had in mind, one hour or more of data logging per site was impractical.  One minute per site was a desirable limit for improving the accuracy of the position of roughly 80 site positions.  Yet, I also wanted as much accuracy as was possible in as short a logging time as practical.  And so I needed some idea of the trade off - what accuracy is realistic for data logging times from one to sixty minutes.

I obtained the data using the GRINGO program, version 2.0.0 with a Garmin GPS V handheld GPS with its antenna centered above an NGS surveyed site marker.  The true coordinates of this site were obtained from an NGS data sheet obtained from the Internet.  Both the NGS surveyed mark and the reference station position were given using the same NAD 83 datum.  The pseudo range data and the carrier phase data was then differentially post processed with the program DP-4, version 2.0.0, that comes with GRINGO.  Information on both programs is available at:

Crippled demos, limited to logging and processing one minute of pseudo range data, are downloadable from that site for the purpose of verifying that they function with your computer and GPS unit.

The local reference station only records measurements at 5 second intervals,  and within my limited experience, interpolating the reference information to 1 second data intervals did not give a consistent improvement in the accuracy of the result.  About half of the time the results of 1 second interpolation were less accurate.  Thus, I've chosen to process and present the results of my study for 5 second intervals.

Attached is a Microsoft Excel file plotting positional error Vs. minutes of logged data.

This is a limited study, though it took several weeks of effort.  I consider the results illustrative of what is to be expected, rather than definitive. Where my sample sizes range from 20 down to 2, a serious estimate would require at least a hundred and perhaps a 1000 samples under all kinds of conditions taken over months of time to capture the rarer events that degrade the accuracy of a GPS position.

The information presented meets my immediate and personal needs with an accuracy sufficient for the task that I have in mind.  I share the graphs in the belief that they are a significant improvement over nothing at all.  Please, use them cautiously - if at all.

Some very accurate results were obtained with even very short data logging times.  The problem is that for the shorter logging times, it is not possible to identify whether a given solution has good or poor accuracy.

I think, from my experiences with the data, that it may be possible to identify from the residuals and other tools included in DP-4 when the largest errors exist.  Carrier slips and step changes in the individual satellite residuals were present with the largest error, though not in all of the larger errors.  A golden rule with carrier phase solutions is that if you have cycle slips in the residuals, then you should discard the solution. My personal experience is that any step changes in the residual of a satellite casts doubt on the accuracy of the solution.  Care needs to exercised here, because optimism could cloud judgment.

One proposed strategy to improve the accuracy reliability involves moving from site to site using a shorter logging time, but taking a second measurement separated by an hour.  Qualitatively, this appeared to reduce the errors more than simply doubling the time during one occupation of the site.

James Harris

P.S.  I have not personally had any bad experience with the publicly released versions of the programs that I have used.  I did have one lock up problem with a Garmin eMap GPS while using an "experimental" program.  Powering the GPS off and then going through and resetting the Garmin interface to its default, with possibly a second power off and power on cycle cleared things up.

Click HERE to return to Joe and Jack's GPS Information Website