2025 Pet Hacks Contest: Loko Tracks Fido With LoRa And GPS

Some projects start as hacks, and end as products — that’s the case for [Akio Sato]’s project Loko, the LoRa/GPS tracker that was entered in our 2025 Pet Hacks Contest. The project dates all the way back to 2019 on Hackaday.io, and through its logs you can see its evolution up to the announcement that Loko is available from SeeedStudio.

It’s not a device necessarily limited to pets. In fact, the original use case appears to have been a backup locator beacon for lost drones. But it’s still a good fit for the contest none-the-less: at 12 grams, the tiny tracking device won’t bother even the most diminutive of pups, and will fit on any collar at only 30 mm x 23 mm. The “ground station” that pairs with your phone is a bit bigger, of course, but unless you have a Newfoundlander or a St. Bernard you’re likely bigger than fido. The devices use LoRa to provide a range up to 15 km — maybe better if you can loop them into a LoRaWAN. Depending on how often you pin the tracker, it can apparently last for as long as 270 days, which we really hope you won’t need to track a missing pet.

The hardware is based around Seeed’s Wio-E5 LoRa chip, which packages an STM32 with a LoRA radio. The firmware is written in MicroPython, and everything is available via GitHub under the MIT license. Though the code for the mobile app that interfaces with that hardware doesn’t appear to be in the repository at the moment. (There are folders, but they’re disappointingly empty.) The apps are available free on the iOS App Store and Google Play, however.

There’s still plenty of time to submit your own hacks to the Pet Hacks Contest, so please do! You have until May 10th, so if you haven’t started yet, it’s not too late to get hacking.

GPS Broken? Try TV!

GPS and similar satellite navigation systems revolutionized how you keep track of where you are and what time it is. However, it isn’t without its problems. For one, it generally doesn’t work very well indoors or in certain geographic or weather scenarios. It can be spoofed. Presumably, a real or virtual attack could take the whole system down.

Addressing these problems is a new system called Broadcast Positioning System (BPS). It uses upgraded ATSC 3.0 digital TV transmitters to send exact time information from commercial broadcast stations. With one signal, you can tell what time it is within 100 ns 95% of the time. If you can hear four towers, you can not only tell the time, but also estimate your position within about 100 m.

The whole thing is new — we’ve read that there are only six transmitters currently sending such data. However, you can get a good overview from these slides from the National Association of Broadcasters. They point out that the system works well indoors and can work with GPS, help detect if GPS is wrong, and stand in for GPS if it were to go down suddenly.

Continue reading “GPS Broken? Try TV!”

Writing A GPS Receiver From Scratch

GPS is an incredible piece of modern technology. Not only does it allow for locating objects precisely anywhere on the planet, but it also enables the turn-by-turn directions we take for granted these days — all without needing anything more than a radio receiver and some software to decode the signals constantly being sent down from space. [Chris] took that last bit bit as somewhat of a challenge and set off to write a software-defined GPS receiver from the ground up.

As GPS started as a military technology, the level of precision needed for things like turn-by-turn navigation wasn’t always available to civilians. The “coarse” positioning is only capable of accuracy within a few hundred meters so this legacy capability is the first thing that [Chris] tackles here. It is pretty fast, though, with the system able to resolve a location in 24 seconds from cold start and then displaying its information in a browser window. Everything in this build is done in Python as well, meaning that it’s a great starting point for investigating how GPS works and for building other projects from there.

The other thing that makes this project accessible is that the only other hardware needed besides a computer that runs Python is an RTL-SDR dongle. These inexpensive TV dongles ushered in a software-defined radio revolution about a decade ago when it was found that they could receive a wide array of radio signals beyond just TV.

Interposer Helps GPS Receiver Overcome Its Age

We return to [Tom Verbeure] hacking on Symmetricom GPS receivers. This time, the problem’s more complicated, but the solution remains the same – hardware hacking. If you recall, the previous frontier was active antenna voltage compatibility – now, it’s rollover. See, the GPS receiver chip has its internal rollover date set to 18th of September 2022. We’ve passed this date a while back, but the receiver’s firmware isn’t new enough to know how to handle this. What to do? Build an interposer, of course.

You can bring the module up to date by sending some extra init commands to the GPS chipset during bootup, and, firmware hacking just wasn’t the route. An RP2040 board, a custom PCB, a few semi-bespoke connectors, and a few zero-ohm resistors was all it took to make this work. From there, a MITM firmware wakes up, sends the extra commands during power-on, and passes all the other traffic right through – the system suspects nothing.

Everything is open-source, as we could expect. The problem’s been solved, and, as a bonus, this implant gives a workaround path for any future bugs we might encounter as far as GPS chipset-to-receiver comms are concerned. Now, the revived S200 serves [Tom] in his hacking journeys, and we’re reminded that interposers remain a viable way to work around firmware bugs. Also, if the firmware (or the CPU) is way too old to work with, an interposer is a great first step to removing it out of the equation completely.

Google FindMy Tools Run On An ESP32

As of about a day ago, Google’s reasonably new Find My network just got more useful. [Leon Böttger] released his re-implementation of the Android tracker network: GoogleFindMyTools. Most interestingly for us, there is example code to turn an ESP32 into a trackable object. Let the games begin!

Everything is in its first stages here, and not everything has been implemented yet, but you are able to query devices for their keys, and use this to decrypt their latest location beacons, which is the main use case.

The ESP32 code appears not to support MAC address randomization just yet, so it’s possibly more trackable than it should be, but if you’re just experimenting with the system, this shouldn’t be too much of a problem. The README also notes that you might need to re-register after three days of use. We haven’t gotten to play with it just yet. Have you?

If you’re worried about the privacy implications of yet another ubiquitous tracking system out there, you’re not alone. Indeed, [Leon] was one of the people working on the Air Guard project, which let iPhone users detect trackers of all sorts around them. Anyone know if there’s something like that for Android?

Thanks [Lars] for the hot tip!

 

Historical map of The Netherlands overlayed with clouds

Hacking Global Positioning Systems Onto 16th-Century Maps

What if GPS had existed in 1565? No satellites or microelectronics, sure—but let’s play along. Imagine the bustling streets of Antwerp, where merchants navigated the sprawling city with woodcut maps. Or sailors plotting Atlantic crossings with accuracy unheard of for the time. This whimsical intersection of history and tech was recently featured in a blog post by [Jan Adriaenssens], and comes alive with Bert Spaan’s Allmaps Here: a delightful web app that overlays your GPS location onto georeferenced historical maps.

Take Antwerp’s 1565 city map by Virgilius Bononiensis, a massive 120×265 cm woodcut. With Allmaps Here, you’re a pink dot navigating this masterpiece. Plantin-Moretus Museum? Nailed it. Kasteelpleinstraat? A shadow of the old citadel it bordered. Let’s not forget how life might’ve been back then. A merchant could’ve avoided morning traffic and collapsing bridges en route to the market, while a farmer relocating his herd could’ve found fertile pastures minus the swamp detour.

Unlike today’s turn-by-turn navigation, a 16th-century GPS might have been all about survival: avoiding bandit-prone roads, timing tides for river crossings, or tracking stars as backup. Imagine explorers fine-tuning their Atlantic crossings with trade winds mapped to the mile. Georeferenced maps like these let us re-imagine the practical genius of our ancestors while enjoying a modern hack on a centuries-old problem.

Although sites like OldMapsOnline, Google Earth Timelapse (and for the Dutch: TopoTijdreis) have been around for a while, this new match of technology and historical detail is a true gem. Curious to map your own world on antique charts? Navigate to Allmaps and start georeferencing!

Crowdsourcing Ionosphere Data With Phones

How do you collect a lot of data about the ionosphere? Well, you could use sounding rockets or specialized gear. Or maybe you can just conscript a huge number of cell phones. That was the approach taken by Google researchers in a recent paper in Nature.

The idea is that GPS and similar navigation satellites measure transit time of the satellite signal, but the ionosphere alters the propagation of those signals. In fact, this effect is one of the major sources of error in GPS navigation. Most receivers have an 8-parameter model of the ionosphere that reduces that error by about 50%.

However, by measuring the difference in time between signals of different frequencies, the phone can estimate the total electron current (TEC) of the ionosphere between the receiver and the satellite. This requires a dual-frequency receiver, of course.

Continue reading “Crowdsourcing Ionosphere Data With Phones”