Thanks to the efforts of brilliant engineers and scientists, GPS (Global Positioning System) is a cornerstone technology in our world today. Whether it's from our vehicle's navigation system or a handheld device while hiking through the woods, we are now able to pinpoint our exact latitude and longitude from satellites orbiting the earth. Pretty crazy, right? Come along with us and learn what it is, how it works and how you can make your own GPS system.
Learn about the history of GPS, how it works and how it came to be an integral technology in today's world.
At Medium Earth Orbit (12,550 miles), there are approximately 31 satellites in operation at any given time. This is a relatively large system, run with careful planning and calibration. The principle idea is math. Wait! Let me finish. Your receiver pinpoints location by calculating the distance between you and that satellite. This is done by multiplying the rate of signal (speed of light) by the atomic clock time on the satellite. You can get your location from three satellites, but it will not be as accurate – four satellites are needed to determine your location in three dimensions. Three satellites are needed for x, y and z coordinates, and one satellite to determine the time it took the signal to travel from the satellites to the receiver (see images below).
Ok, cool. So satellites are zipping around spitting out location data, and if I’m in the line of sight then my receiver will tell me my location. Is that it? No, not exactly. We’ve just taken a small step into GPS technology as a whole. We’ve established there are two key parts, satellites and receivers, so now let’s look closer. A receiver is usually a chip that can receive an electromagnetic wave and translate it into readable data. These systems can range from a standalone chip, to a breakout board, to a fancy complete user system, like in a car. If you’re making a project around these types of technologies, you’ll have to understand the three main features they all need to work. For a GPS module you’ll need an antenna, an integrated system to perform math and data communication, and a communication protocol output that feeds to the user or end system.
Any wireless communication system will feature the almighty antenna. In short, we’re looking for a conductive metal that, when hit with electromagnetic waves, an electric current inside the conductor will flow. Think of slapping a pool and watching waves ripple on the water. This current flows in a specific way, controlled by the electromagnetic wave. There is an entire engineering discipline dedicated to making antennas, so we won’t go too deep. But, this is an important component for the next part of the system.
There is no exact standard for this portion, but we need electronics to filter out unwanted wave frequencies and read the ones we’re interested in. These systems can be complex, as with GPS-RTK, or simple for regular GPS. A basic recipe would be a filter, signal decoder and some communication output. We use a variety of chips, and each has their own advantages and disadvantages. So how do we communicate with these chips?
Let's assume you’ve heard of or have some experience with common communication methods between electronics, like Serial, I2C, SPI, etc. These are hardware-level, computer-to-computer communication methods, but GPS has an extra layer on top. How do we account for many satellites zipping around spitting out their own languages? We introduce GPS communication protocols, which is just a fancy way of saying standardizing. Meet the NMEA-0183 standard: this basically breaks down signals into sentences.
When the signal is decoded into this standard, the once-electromagnetic wave becomes readable to humans. Throw it on communication method lines, and our computer can show us our location.
If you would like to learn even more about GPS, check out our GPS Basics page below.
Now that we've covered the basics with GPS, it's time to dive right in. We've put together a simple, effective tutorial to introduce you to the hardware and coding needed to build your first global positioning system.
When learning how to use GPS hardware, one of the best ways to learn is to view the hookup guides. For each product SparkFun carries we have an associated hookup guide on the product pages located under the description. We do our best to walkthrough all the connections needed, associated libraries and a working demonstration or two to get your project off the ground.
With technological advances in GPS receivers, we are able to achieve positional accuracy to one centimeter and even keep your bearing when there is little to no signal.
GPS receivers capable of RTK take in the normal signals from the Global Navigation Satellite Systems (GNSS) along with a correction stream to achieve 1cm positional accuracy. On top of these signals an RTK receiver takes in an RTCM correction stream and then calculates your location with 1cm accuracy in real time. The rate varies between receivers but most will output a solution at least once per second; some receivers can output this higher precision solution up to 20 times a second. Learm more about RTK in our What is GPS RTK tutorial.
Navigating a dense city, short tunnel or parking garage can provide poor signal quality or complete signal loss. These issues can be overcome with dead reckoning; the process of determining current position by combining previously determined positional data with speed and heading. 3D inertial measurement units (IMUs) and vehicle distance data (e.g. wheel ticks, and odometers) can be used to continually calculate a vehicles current position when GNSS data momentarily fails. Dead Reckoning can be achieved with our GPS Dead Reckoning NEO-M8U breakout board.
As with any technology, GPS hardware comes in many shapes and sizes to fit the specific needs of your project. Below we have listed a few of our favorite breakout boards, antennas and modules.
Our Creative Technologist Rob takes us through the different types of GPS hardware
and information to help you build the system right for you.
GPS breakout boards are equipped with a receiver, and have the ability to interface with your favorite development boards, such as a SparkFun RedBoard Qwiic.
Some projects require an antenna to better recieve signals from the satellites. Below are some of our favorites.
GPS modules are the signal receivers. These modules come without a breakout board, so interfacing with these modules may increase difficulty of a project.
Here are a few other projects that use GPS. We are always trying to expand our library of projects and tutorials, so check back often or fill out the form above to be notified of new content.