Number Crunching GPS For The DIYer

Many of us have had cause to add GPS to a project, whether it’s because we need an accurate timebase or just want to know where the bloody thing is. Normally, this consists of plugging in a cheap module and making sure the antenna has a good view of the sky. [Mike] wanted to dig deeper, however, and figure out just what goes into decoding a GPS signal and calculating a location fix.

[Mike]’s investigation combined several avenues of investigation. In terms of decoding live radio signals, he selected a KiwiSDR software defined radio. Combined with a Digilent Nexys 2 FPGA, it was now possible to get live data off the air and into the PC quickly for decoding. In concert with this, [Mike] used a sample of raw GPS data captured in Nottingham, UK in order to test his code. After much experimentation, [Mike] was able to get the data decoded with 700 lines of C code. Decoding three minutes worth of data took all night, but further development allowed things to be sped up over 200 times. For the curious, the code is up on Github to convert raw ADC samples into actual location fixes.

Armed with the wealth of resources online and the right hardware, [Mike] was sucessfully able to achieve his goal, and figure out just precisely where his house is, to boot. As a bonus, the whole project was inspired by a similar project posted in these very pages back in 2013! If you’re working on your own satellite-based projects, be sure to drop us a line.

Capture The Flag, Along With The Game Data

With events of all sizes on hold and live sports mostly up in the air, it’s a great time to think of new ways to entertain ourselves within our local circles. Bonus points if the activity involves running around outside, and/or secretly doubles as a team-building exercise, like [KarelBousson]’s modernized version of Capture the Flag.

Much like the original, the point of this game is to capture the case and keep it for as long as possible before the other team steals it away. Here, the approach is much more scientific: the box knows exactly who has it and for how long, and the teams get points based on the time the case spends in any player’s possession.

Each player carries an RFID tag to distinguish them from each other. Inside the case is an Arduino Mega with a LoRa shield and a GPS unit. Whenever the game is afoot, the case communicates its position to an external Raspi running the game server.

If you haven’t met LoRa yet, check out this seven-part introductory tutorial.

Sun-Seeking Sundial Self-Calibrates In No Time

Sundials, one of humanity’s oldest ways of telling time, are typically permanent installations. The very good reason for this is that telling time by the sun with any degree of accuracy requires two-dimensional calibration — once for cardinal direction, and the other for local latitude.

[poblocki1982] is an amateur astronomer and semi-professional sundial enthusiast who took the time to make a self-calibrating equatorial ‘dial that can be used anywhere the sun shines. All this solar beauty needs is a level surface and a few seconds to find its bearings.

Switch it on, set it down, and the sundial spins around on a continuous-rotation servo until the HMC5883L compass module finds the north-south orientation. Then the GPS module determines the latitude, and a 180° servo pans the plate until it finds the ideal position. Everything is controlled with an Arduino Nano and runs on a 9V battery, although we’d love to see it run on solar power someday. Or would that be flying too close to the sun? Check out how fast this thing calibrates itself in the short demo after the break.

Not quite portable enough for you? Here’s a reverse sundial you wear on your wrist.

Custom Firmware Makes A LoRA-Enabled HAB Tracker Watch

High Altitude Balloons (HAB) are a great way to get all kinds of data and shoot great photos and video, but what goes up must come down. Once the equipment has landed, one must track it down. GPS and LoRA, with its long wireless range and ease of use, are invaluable tools in tracking payloads that have returned to Earth. [Dave Akerman] has made handheld receivers to guide him to payloads, but wanted something even smaller; ideally something that could be worn on the wrist.

One day he came across the affordable LilyGo T-Watch which includes GPS and LoRA functionality, and he started getting ideas. The watch has the features, but the stock firmware didn’t measure up. Not to be deterred, [Dave] wrote new firmware to turn the device into a wrist-worn GPS and LoRA chase watch.

Not only is the new firmware functional, but it’s got a wonderful user interface. GitHub repository for the new firmware is here, and you can see the UI in action in the brief video embedded below.

Continue reading “Custom Firmware Makes A LoRA-Enabled HAB Tracker Watch”

Bike Lock Secures Car

[Buttim] loses his car a lot, which might sound a little bit like the plot from an early-00s movie, but he assures us that it’s a common enough thing. In a big city, and after several days of not driving one’s car, it can be possible to at least forget where you parked. There are a lot of ways of solving this problem, but the solution almost fell right into his lap: repurposing a lock from a bike share bicycle. (The build is in three parts: Part 2 and Part 3.)

These locks are loaded with features, like GPS, a cellular modem, accelerometers, and in this case, an ARM processor. It took a huge amount of work for [Buttim] to get anything to work on the device, but after using a vulnerability to dump the firmware and load his own code on the device, spending an enormous amount of time trying to figure out where all the circuit traces went through layers of insulation intended to harden the lock from humidity, and building his own Python-based programmer for it, he has basically free reign over the device.

To that end, once he figured out how it all worked, he put it to use in his car. The device functions as a GPS tracker and reports its location over the cellular network so it can’t become lost again. As a bonus, he was able to use the accelerometers to alert him if his car was moving without him knowing, so it turned into a theft deterrent as well. Besides that, though, his ability to get into the device’s firmware reminded us of a recent attempt to get access to an ARM platform.

Navigating Self-Driving Cars By Looking At What’s Underneath The Road

When you put a human driver behind the wheel, they will use primarily their eyes to navigate. Both to stay on the road and to use any navigation aids, such as maps and digital navigation assistants. For self-driving cars, tackling the latter is relatively easy, as the system would use the same information in a similar way: when to to change lanes, and when to take a left or right. The former task is a lot harder, with situational awareness even a challenge for human drivers.

In order to maintain this awareness, self-driving and driver-assistance systems use a combination of cameras, LIDAR, and other sensors. These can track stationary and moving objects and keep track of the lines and edges of the road. This allows the car to precisely follow the road and, at least in theory, not run into obstacles or other vehicles. But if the weather gets bad enough, such as when the road is covered with snow, these systems can have trouble coping.

Looking for ways to improve the performance of autonomous driving systems in poor visibility, engineers are currently experimenting with ground-penetrating radar. While it’s likely to be awhile before we start to see this hardware on production vehicles, the concept already shows promise. It turns out that if you can’t see whats on the road ahead of you, looking underneath it might be the next best thing. Continue reading “Navigating Self-Driving Cars By Looking At What’s Underneath The Road”

The CLUE Tracker Points You To A Target, Using CircuitPython

The main components are an Adafruit CLUE, Stemma GPS, and a lithium-polymer battery. No soldering required.

[Jay Doscher] shares a quick GPS project he designed and completed over a weekend. The device is called the CLUE Tracker and has simple goals: it shows a user their current location, but also provides a compass heading and distance to a target point. The idea is a little like geocaching, in that a user is pointed to a destination but must find their own way there. There’s a 3D printed enclosure, and as a bonus, there is no soldering required.

The CLUE Tracker uses the Adafruit CLUE board (which is the same size as the BBC micro:bit) and Stemma GPS sensor, with the only other active component being a lithium polymer battery. The software side of the CLUE Tracker uses CircuitPython, and [Jay] has the code and enclosure design available on GitHub.

[Jay] did a nice job of commenting and documenting the code, so this could make a great introductory CircuitPython project. No soldering is required, which makes it a little easier to re-use the parts in other projects later. This helps to offset costs for hackers on a budget.

The fact that a device like this can be an afternoon or weekend project is a testament to the fact that times have never been better for hobbyists when it comes to hardware. CircuitPython is also a fast-growing tool, and projects like this can help make it easy and fun to get started.