I have a Venus634LPx GPS on a breakout board from SparkFun.

The documentation is very cryptic, so I did not manage to configure it manually through the UART (although I can read data from it). Luckily, the SkyTraq GPS Viewer & Configuration program works under wine (I'm on LinuxMint):

SkyTraq GPS Viewer

I still can't figure out what the pinning parameters mean. The closest thing to an explanation I found online is in a thread from 2009:

In many applications, the position and/or velocity is represented as point on a display. To make that point appear more visually stable and/or accurate to the end user, position pinning is implemented. In position pinning the reported position will not change unless some user-defined criteria are met.

The criteria can be set in pinning parameters.

Another website, where they use GPS to build a time server (similar to my own application), says:

This is what I did to configure my module:

  • Enabled position pinning
  • Disabled all NMEA strings except for GGA, GSA, GLL and ZDA
  • Set update rate to 1Hz and output sync to UTC
  • Set baud rate to 9600 (higher is not better!)

Application Note AN0003 from SkyTraq only gives the following relevant information:

Binary command to set pinning parameters

What do these parameters mean? Is any better documentation available?


1 Answer 1


I sent an email to SkyTraq, and they replied by sending me Application Note AN0025 v5 (Uploaded with permission).

There is a slight difference from the datasheet in how this note names the parameters:

  • Pinning speed PSPEED in km/h
  • Pinning threshold PTH in s (pinning cnt in datasheet)
  • Unpinning speed UPSPEED in km/h
  • Unpinning threshold UPTH in s (unpinning cnt in datasheet)
  • Unpinning distance UPDISTANCE in m

When the speed is below PSPEED for longer than duration PTH, it enters a "position pinned state", where the GPS module is considered stationary. The reported location will not move around at all, contrary to the normal behaviour where the location jumps around in a stochastic fashion.

If there is a 3D fix, it will return to the normal "unpinned" state when the speed exceeds UPSPEED for longer than UPTH. If the fix is only 2D or intermittent, it takes longer (see pp.4–5). In either case, if the position of the GPS module has drifted by more than UPDISTANCE, it will also "unpin".

The application note says nothing about the purpose of this feature. I have an unconfirmed suspicion that pinning the location might improve the GPS time estimate on stationary devices.

  • \$\begingroup\$ Pinning the location avoids the location to jump around when stationnary. ** These jumps can go up to 100m ** When a GPS is stationnary the positions tend to jump - IMHO because the receiver will lock on more satelites, including those that contribute more "error" to the location because of their position and signal strength/distortion. ** By pinning the location the user will not have the impression that his GPS is behaving bad. \$\endgroup\$
    – le_top
    Commented Sep 29, 2017 at 7:19
  • \$\begingroup\$ @le_top It's a lot smaller than 100m since SA was disabled in May 2000. Also, I'm only concerned with tangible benefits, not merely impressions. If it merely gives the impression of being accurate, without any form of measurable improvement, I'd rather turn pinning off. \$\endgroup\$ Commented Sep 29, 2017 at 7:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.