Building A GPS Receiver From The Ground Up

One of the more interesting facets of GPS is that, at least from the receiver’s point-of-view, it’s a fairly passive system. All of the information beamed down from the satellites is out in the ether, all the time, free for anyone on the planet to receive and use as they see fit. Of course you need to go out and buy a receiver or, alternatively, possess a certain amount of knowledge to build a circuit that can take those signals and convert them into something usable. Luckily, [leaning_tower] has the required knowledge and demonstrates it with this DIY GPS receiver.

This receiver consists of five separate circuit boards, all performing their own function. The first, a mixer board, receives the signal via an active antenna and converts it to a lower frequency. From there it goes to a second mixer and correlation board to compare the signal to a local reference, then a signal processing board that looks at this intermediate frequency signal to make sense of the data its seeing. Finally, an FPGA interfacing board ties everything together and decodes the information into a usable form.

Dealing with weak signals like this has its own set of challenges, as [leaning_tower] found out. The crystal oscillator had to be decapped and modified to keep from interfering with the GPS radio since they operated on similar frequencies. Even after ironing out all the kinks, the circuit takes a little bit of time to lock on to a specific satellite but with a second GPS unit for checking and a few weeks of troubleshooting, the homebrew receiver is up and running. It’s an impressive and incredibly detailed piece of work which is usually the case with sensitive radio equipment like GPS. Here’s another one built on a Raspberry Pi with 12 channels and a pretty high accuracy.

13 thoughts on “Building A GPS Receiver From The Ground Up

    1. I don’t think the GPS signal is stable enough over short periods to have significant improvement over a PLL controlled by a COTS timing receiver. A good ocxo should be much better than gps in the near term. Of course, over longer periods GPS is unbeatable.

      1. So instead of doing A, you can do A?

        A proper Stratum 0 has a way to keep the time by itself for short periods, which can be done with a “PLL controlled by a COTS timing receiver”. And the COTS timing receiver (GPS antenna), is a part of a Stratum 0. It’s the most crucial part of a Stratum 0. And just an ocxo is rather pointless if you don’t have a reference, using GPS, and then you are back to the entire point of the Stratum 0. And it’s not just keeping time, it’s making sure there is no difference in the future either, and without a reference (GPS, unless you have a cesium based atomic clock laying around), it’s not possible.

        1. I meant that it’s not required to make your own receiver to make a stratum 0 clock. In theory it would allow tight coupling between the reference source and the receiver PLLs, which helps quite a bit for positioning (assuming an IMU is available of course), but for timing I think the gain would be minimal.

  1. The fact that you can build a working accurate GPS receiver using only off-the-shelf parts that aren’t specific to GPS (and that as far as I can tell aren’t restricted in any way e.g. under export controls) shows that the restrictions on GPS (speed/altitude limits) wouldn’t be hard for a determined adversary to find a way around if they wanted to.

  2. There was a series of 3 articles in some popular electronics magazine published either very late 1980s or very early 1990s which explained the theory of the GPS system and how to actually build a receiver with off-the-shelf parts. I had a copy of those magazines, but I’ve managed to lose them in the mean time. I’m trying to find the name of the publication… or a PDF of those articles. I thought it was Elektor, but I’ve searched their archive and it appears not to be them. It might have been a popular amateur radio publication. Any old timers out there that can help me job my memory? … I’m looking for it for a talk I’m giving.

    1. I believe I found the original set of articles. It must have been republished in one of the high-street glossy electronics mags (but I can’t recall which). Authored by Matjaz Vidmar, S53MV, title “A homemade receiver for GPS & GLONASS satellites”, published around 1991 / 1992. I recall it being a riveting read. I never built the receiver, but it explained very well the theory behind a technology that to many seemed like magic at the time. https://s53mv.s56g.net/navsats/theory.html

Leave a Reply to CjayCancel 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.