Testing and integration engineers on electronics.stackexchange

How do you quality check if a GPS module and its subsystems are up to the mark during manufacturing? My company recently had issues with few of its devices. Some weren't having a GPS lock (ever) and the issue was found to be the antenna (once replaced it worked fine).

But we can't test every device (over 5000) for a GPS lock during manufacturing (or is that the only way?). Is there a standard way to check to make sure the hardware won't let us down?

Edit: Can I assume the hardware is fine if I receive a valid data time (a data time other than the default one send by the hardware)?

  • \$\begingroup\$ "the issue was found to be the antenna" what was the exact problem? No contact, cold soldering, impedance mismatch? \$\endgroup\$
    – Oldfart
    Feb 6, 2018 at 12:12
  • \$\begingroup\$ The U.FL connector from the antenna was broken on the antenna's side. Since my company works in small scale I guess we don't get the best of best products. And this missed the eye of the visual inspection operator. \$\endgroup\$ Feb 6, 2018 at 12:16
  • \$\begingroup\$ That is, no contact. I've currently come across 2 cold soldering and 3 no contact issues. \$\endgroup\$ Feb 6, 2018 at 12:25
  • 2
    \$\begingroup\$ What's the purpose [roughly speaking, at least] of the end product? \$\endgroup\$ Feb 6, 2018 at 18:06
  • 1
    \$\begingroup\$ It is unclear how much involved you are into that module, but if you do the firmware yourself you should be able to much quicker detect of you get any usable signal at all, that might be sufficient \$\endgroup\$
    – PlasmaHH
    Feb 6, 2018 at 19:38

5 Answers 5


That is, no contact. I've currently come across 2 cold soldering and 3 no contact issues.

Looks to me you have got a hole in your final testing. (I assume you have some sort of test-jig)
I can imagine that waiting for a GPS lock requires too much test time but, especially with the detected errors you should add a resistance/contact/SWR test on the antenna.

  • 6
    \$\begingroup\$ You can instead wait on a time response, or just locking onto a single satellite which takes less than the 15 minutes required for a full lock. Parallelizing is a must though for a serious testing setup. \$\endgroup\$ Feb 6, 2018 at 13:25
  • 3
    \$\begingroup\$ Most modern GPS devices should connected and locked to a single satellite in well under 59 seconds (takes 30 seconds to get a minimal message once locked). That should give you approximate time of day and signal to noise value. You don't have to wait for a position lock (minimum 4 locked satellites) or an accurate lock (minimum 12.5 minutes of lock to get full message) to test the RF and basic operations. Get a Simulator, Replay or Repeater to give ideal RF conditions and guarantee fast locks every time. \$\endgroup\$
    – TafT
    Feb 7, 2018 at 9:55
  • \$\begingroup\$ @oldfart Can I assume the hardware is fine if I receive a valid date-time? This only requires a single satellite to be connected. \$\endgroup\$ Feb 7, 2018 at 10:23
  • \$\begingroup\$ I am not an RF expert but looking at all the 'upvoted comments' above it seem to me the answer is: Yes. \$\endgroup\$
    – Oldfart
    Feb 7, 2018 at 10:28

There is no free lunch here. You need a solid test plan. This is an area well worth investing in, because once you develop a reputation for shipping shoddy products, it's pretty much impossible to shake it.

To a large extent, you need to be able to trust your component suppliers, and focus on testing only for the types of errors that occur during the assembly process, including wrong/missing components, poor soldering, etc. Visual inspection is one method that can be applied here, but there are also automated electrical tests that can be used to find a large majority of the potential problems. But if you are using unreliable suppliers, then you must invest more resources in incoming inspection and test.

But there's no substitute for a full-up functional test at the end, at least on the initial batch. If you find that your failure rate is low enough, you might consider only spot-checking subsequent batches, or dropping the functional test altogether, but you need to balance that against the risk and cost of the resulting customer returns and dissatisfaction.


There are few methods to accelerate GPS module assembly testing:

  • Use AGPS to acquire a faster fix. TTFF should take few seconds, assuming you can load the AGPS data to the unit.
  • Read the GPS raw data, specifically, C/n.
  • Use a GPS repeater, or better yet, a GPS constellation simulator to get a known signal.
  • 1
    \$\begingroup\$ I use to work for a company designing and selling GPS simulators. It is (or was) a requierment of AGPS mobile phones that they get tested in the factory and quite the correct Time of Day from locking to at least a single GPS signal. With a simulator the lock times can be under 30 seconds for a good receiver system. There were usually checks on the S/N value shown to verify antenna path too. TLDR; buy my kit ;-) \$\endgroup\$
    – TafT
    Feb 7, 2018 at 9:50
  • \$\begingroup\$ Was it Spirent? \$\endgroup\$
    – Lior Bilia
    Feb 7, 2018 at 15:44
  • \$\begingroup\$ yes. I worked on some of the early multi-constellation simulators that included Galileo. The 1 channel up to the 32 channel systems. \$\endgroup\$
    – TafT
    Feb 8, 2018 at 10:54

A faulty antenna connector will result in a degraded signal strength. This can vary anywhere from total loss to almost full signal strength.

Optimally you'd have a GPS simulator with known transmission strength, and check the received signal strength on each module.

In my experience you can get GPS timestamp with much less signal strength than is needed for position lock, as a single visible satellite is enough to get a (rough) timestamp. So that kind of test would detect a 100% signal loss, but might not detect a 80% loss. Even a full lock test would not detect a 20% loss, which could still mean you fail to meet the specifications you've promised to customer.


If you see a valid GPZDA-Sentence (or any other sentence containing UTC), you can be sure that your module was able to decode some of the navigation message.

Different vendors may send the first ZDA at different points, some after reception of the first subframe 1 (containing the week-number-field), some only after applying UTC-offsets from the almanac. Subframe 1 is sent every 30 seconds, Subframe 4 Page 18 (containing UTC offsets) is sent every 12 minutes.

Be aware: Even an unhealthy module may be able to decode some of the message. In general, testing with live space-segment signals will not give reproducible results. Reasons are the constantly changing constellation and environmental influences (ionospheric conditions, humidity, etc).

If you want reproducible results, you should look into a single channel GNSS simulator. A simple test program would start with a strong signal for an initial lock, then fade the signal and record the RF level at loss-of-signal.


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.