UPDATE: Roll Your Own GPS Can Now Track Twice As Many Satellites


[Andrew Holme] wrote in to tell us about some work he’s done to improve his scratch-built GPS receiver. He figured out a way to use the same hardware but double the number of satellites it can track to a total of eight. When we looked at the original hardware about a year ago it was limited to monitoring just four satellites. That’s the bare minimum for calculating position data. This will not only help increase the accuracy, but remove the problems that would have been cause if just one satellite was dropped because of an obstruction or other issue.

His solution is based entirely on using the FPGA in a different way. He had taken up almost all of the gates available in the Xilinx Spartan 3 chip. Now he’s implemented a CPU on the chip and is able take some of the work off of the hardware gate design by running code on it. He also found and squashed a bug in how the data was processed. He says his original work wasn’t taking into account the rotation of the earth when determining position. All of these improvements put his accuracy at +/- five meters even when he’s not tracking all eight satellites!

31 thoughts on “UPDATE: Roll Your Own GPS Can Now Track Twice As Many Satellites

    1. There are quite a few different methods of resolving position from GPS signals. The most common is SPS – standard positioning system – which uses a single frequency from multiple satellites. This is what most of your phone and car GPS units use, and it is accurate within about 10m. There is a military/government grade version, called PPS – precise positioning service – which uses two frequencies to perform ionospheric correction and gives an accuracy of around 1m when alone.

      You also have additional features such as Wide-Area Augmentation Service(WAAS) and ground based Differential GPS(DGPS) which uses a known-position receiver to broadcast in real time the correction to the satellites’ signals. This works within about 100km of the broadcasting correction station. Using the phase of the radio signal as a measurement of its own, you can get down to 4-10cm resolutions with these in higher-end kinematic and survey receivers.

      Contrary to popular belief and urban legend, the government is not trying to prevent you from accurately determining position using GPS by limiting the methods and technology you can use. Ever since 2000 the SPS and PPS have been basically identical for accuracy.

    1. COCOM is a US law. This guy appears to be in the UK. Maybe they have their own version? If it’s like the US one it just says he can’t export it. Then again, putting the design on a website probably qualifies as exporting. But are they even looking for that? I think this just shows how out of touch and unenforceable such laws are. Politicians are always trying to put the genies back in the bottle!

        1. I don’t know what being salaried has to do with enforcement of law. Besides, this is trivial to implement:

          ….disable tracking when the device realizes itself to be moving faster than 1,000 knots (1,900 km/h; 1,200 mph) at an altitude higher than 60,000 feet (18,000 m)…..

          Making your own gps device will be low on the priority list if you can hack together (don’t forget to post) something that can go 60k up and still have the energy to be going 1,200 miles an hour.

    2. “CoCom ceased to function on March 31, 1994”

      No men in black are going to bust down your doors for not limiting your homebrew GPS receiver. Toshiba directly violated CoCom in the 80s and it netted them right around ZERO punishment/retaliation/sanctions.

    1. Only if you happen to know exactly what time it is locally. Two satellites only constrain you to a 2D space, since all you can say is that you are x numbers of meters further away from one satellite than the other. Three then puts you on a 1D line. The fourth satellite lets you resolve true time, so that you can calculate absolute distance from the other three satellites, instead of only relative difference between satellites.

      So no, you need four satellites.

      1. To add accuracy, use 4 satellites and do the math with each of the 3 pairs you have to create a ” zone ” you are in ( including orientation of pitch, roll, yaw vs sat position ) and the error between the 4 locations is your error rate. Being in 25 meters is pretty good for ” comercial ” units ( have an iWay 250 that i got for $15Cdn due to charge issues ) and I have to hack that one day to find out why it takes soooo long to get under 95k error for position. 15 minuets on in a field on top of the car should get the error down to less than the 20m I get with it tracking 4 solid and ‘ knowing ‘ another 5 on the graph ( but not indicating that it’s using them to track ). Good work on this build in getting the error down!

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.