Broadcasting GPS On The Local Network To Help Geoclue Find You

Rather than having users go through the inconvenience of having to punch in their current location, an increasing number of applications and websites use location services that can pin-point the current location of a user to within a certain number of meters or kilometers.

Unfortunately, [Evert Pot] found that with the demise of the Mozilla Location Service (MLS) in 2024, accuracy of the Linux Geoclue service had dropped to a resolution of about 25 km. Since a LAN tends to not move around a lot, this seemed like the perfect time to help Geoclue out with a local GPS server.

All that Geoclue looks for on the LAN is an mDNS service identifying as _nmea-0183._tcp that responds with the GPS coordinates as network packets containing an ASCII payload encoded using the NMEA 0183 standard. With this knowledge [Evert] was then able to quickly put together a Python-based server that simply blasts the static GPS coordinates of the LAN in question.

With the service running, Gnome Maps and Firefox with Google Maps both displayed the right location down to the house, as can be seen in the screenshots. With the same LAN service and a Mac system there was no such luck with Apple Maps unless Location Services was turned off, though presumably Apple uses its own equivalent to MLS.

There’s More To Global Positioning Than Just GPS

The Global Positioning System (GPS) was developed by the United States military in the 1970s, but it wasn’t long before civilians all over the planet started using it. By the early 2000s the technology was popping up in consumer devices such as mobile phones, and since then its become absolutely integral to our modern way of life.

But although support for GPS in our gadgets is nearly ubiquitous, it’s not the only option when it comes to figuring out where you are on the globe. As you might imagine, not everyone was thrilled with building their infrastructure around one of Uncle Sam’s pet projects, and so today there are several homegrown regional and global satellite navigation systems in operation.

As a follow-up to our recent dive into the ongoing GPS upgrades, let’s take a look at some of the other satellite positioning systems and who operates them.

Continue reading “There’s More To Global Positioning Than Just GPS”

The GPS III Rollout Is Almost Complete, But What Is It?

Considering how integral it is to our modern way of life, you could be excused for thinking that the Global Positioning System (GPS) is a product of the smartphone era. But the first satellites actually came online back in 1978, although the system didn’t reach full operational status until April of 1995. While none of the active GPS satellites currently in orbit are quite that old, several of them were launched in the early 2000s — and despite a few tweaks and upgrades, their core technology isn’t far removed from their 1990s era predecessors.

But in the coming years, that’s finally going to change. Just last week, the tenth GPS III satellite was placed in orbit by a SpaceX Falcon 9 rocket. Once it’s properly configured and operational, it will join its peers to form the first complete “block” of third-generation GPS satellites. Over the next decade, as many as 22 revised GPS III satellites are slated to take their position over the Earth, eventually replacing all of the aging satellites that billions of people currently rely on.

So what new capabilities do these third-generation GPS satellites offer, and why has it taken so long to implement needed upgrades in such a critical system?

Continue reading “The GPS III Rollout Is Almost Complete, But What Is It?”

Laser Ranging Makes GPS Satellites More Accurate

Although GNSS systems like GPS have made pin-pointing locations on Earth’s sphere-approximating surface significantly easier and more precise, it’s always possible to go a bit further. The latest innovation involves strapping laser retroreflector arrays (LRAs) to newly launched GPS satellites, enabling ground-based lasers to accurately determine the distance to these satellites.

Similar to the retroreflector array that was left on the Moon during the Apollo missions, these LRAs will be most helpful with scientific pursuits, such as geodesy. This is the science of studying Earth’s shape, gravity and rotation over time, which is information that is also incredibly useful for Earth-observing satellites.

Laser ranging is also essential for determining the geocentric orbit of a satellite, which enables precise calibration of altimeters and increasing the accuracy of long-term measurements. Now that the newly launched GPS III SV-09 satellite is operational this means more information for NASA’s geodesy project, and increased accuracy for GPS measurements as more of its still to be launched satellites are equipped with LRAs.

Implementing A Kalman Filter In PostgreSQL To Smooth GPS Data

Usually databases are treated primarily as fairly dumb data storage systems, but they can be capable of much more. Case in point the PostgreSQL database and its – Ada-based – PL/pgSQL programming language, which allows you to perform significantly more complex operations than would be realistically possible with raw SQL. Case in point the implementation of a Kalman Filter by the folk over at Traconiq, which thus removes the necessity for an external filtering pipeline.

Using a Kalman Filter is highly desirable when you’re doing something like vehicle tracking using both dead-reckoning and GPS coordinates, as it filters out noise that can be the result of e.g. GPS reception issues. As noted in the article, transferring state from one row to the next requires a bit of lateral thinking, but is doable with some creative SQL usage. As PL/pgSQL is very similar to Oracle’s PL/SQL, this same code should work there too without too much porting required.

The code for the different implementations and associated benchmarks can be found on GitHub, though the benchmark results make it abundantly clear that the most efficient approach is to run an offline aggregate processing routine. This coincides with the other batch processing tasks that are typically performed by a database server to e.g. optimize storage, so this isn’t entirely unsurprising.

GPS And Its Little Modules

Ever want to find your device on the map? Think we all do sometimes. The technology you’ll generally use for that is called Global Positioning System (GPS) – listening to a flock of satellites flying in the orbit, and comparing their chirps to triangulate your position.

The GPS system, built by the United States, was the first to achieve this kind of feat. Since then, new flocks have appeared in the orbit, like the Galileo system from the European Union, GLONASS from Russia, and BeiDou from China. People refer to the concept of global positioning systems and any generic implementation as Global Navigation Satellite System (GNSS), but I’ll call it GPS for the purposes of this article, and most if not all advice here will apply no matter which one you end up relying on. After all, modern GPS modules overwhelmingly support most if not all of these systems!

We’ve had our writers like [Lewin Day] talk in-depth about GPS on our pages before, and we’ve featured a fair few projects showing and shining light on the technology. I’d like to put my own spin on it, and give you a very hands-on introduction to the main way your projects interface with GPS.

Continue reading “GPS And Its Little Modules”

A photo of the project on a breadboard in a briefcase.

2025 One Hertz Challenge: Precise Time Ref Via 1 Pulse-Per-Second GPS Signal

Our hacker [Wil Carver] has sent in his submission for the One Hertz Challenge: Precise Time Ref via 1 Pulse-Per-Second GPS Signal.

The Piezo 2940210 10 MHz crystal oscillatorThis GPS Disciplined Oscillator (GPSDO) project uses a Piezo 2940210 10 MHz crystal oscillator which is both oven-controlled (OCXO) and voltage-controlled (VCXO). The GPSDO takes the precision 1 Pulse-Per-Second (PPS) GPS signal and uses it to adjust the 10 MHz crystal oscillator until it repeatedly produces 10,000,000 cycles within one second.

[Wil] had trouble finding all the specs for the 2940210, particularly the EFC sensitivity (S), so after doing some research he did some experiments to fill in the blanks. You can get the gory details in his notes linked above.

Continue reading “2025 One Hertz Challenge: Precise Time Ref Via 1 Pulse-Per-Second GPS Signal”