Larry Berg And The Purple Open Passion Project

It all started with an 88-ton Arburg RP300 injection molding machine in the basement, and a bit of inattention. Larry Berg wanted a couple custom plastic plugs for his Garmin GPS, so he milled out a mold and ran a few. But he got distracted, and came back an hour later to find that his machine had made 400. Instead of throwing them away, he mailed them away for free, but then he found that people started throwing money at him to make more. People all over the world.

This is how the Purple Open Project turned into an global network of GPS geeks, selling molded alternatives to the oddball Garmin plugs for pledges to pay an unspecified amount, and ended up producing over 350,000 plugs over 16 years before he passed away in 2012. This is the story of a hacker’s hacker, who wanted to be able to connect his GPS to his computer and use it the way he wanted, and accidentally created an international business.

Continue reading “Larry Berg And The Purple Open Passion Project”

Busting GPS Exercise Data Out Of Its Garmin-controlled IoT Prison

If you take to the outdoors for your exercise, rather than walking the Sisyphusian stair machine, it’s nice to grab some GPS-packed electronics to quantify your workout. [Bunnie Huang] enjoys paddling the outrigger canoe through the Singapore Strait and recently figured out how to unpack and visualize GPS data from his own Garmin watch.

By now you’ve likely heard that Garmin’s systems were down due to a ransomware attack last Thursday, July 23rd. On the one hand, it’s a minor inconvenience to not be able to see your workout visualized because of the system outage. On the other hand, the services have a lot of your personal data: dates, locations, and biometrics like heart rate. [Bunnie] looked around to see if he could unpack the data stored on his Garmin watch without pledging his privacy to computers in the sky.

Obviously this isn’t [Bunnie’s] first rodeo, but in the end you don’t need to be a 1337 haxor to pull this one off. An Open Source program called GPSBabel lets you convert proprietary data formats from a hundred or so different GPS receivers into .GPX files that are then easy to work with. From there he whipped up less than 200 lines of Python to plot the GPS data on a map and display it as a webpage. The key libraries at work here are Folium which provides the pretty browsable map data, and Matplotlib to plot the data.

These IoT devices are by all accounts amazing, listening for satellite pings to show us how far and how fast we’ve gone on web-based interfaces that are sharable, searchable, and any number of other good things ending in “able”. But the flip side is that you may not be the only person seeing the data. Two years ago Strava exposed military locations because of an opt-out policy for public data sharing of exercise trackers. Now Garmin says they don’t have any indications that data was stolen in the ransomware attack, but it’s not a stretch to think there was a potential there for such a data breach. It’s nice to see there are Open Source options for those who want access to exercise analytics and visualizations without being required to first hand over the data.

3D Print Your Way To A Glass Cockpit Simulator

Today’s commercial aircraft are packed to the elevators with sensors, computers, and miles and miles of wiring. Inside the cockpit you’re more than likely to see banks of LCDs and push buttons than analog gauges. So what’s that mean for the intrepid home simulator builder? Modern problems require modern solutions, and this 3D printed simulator is about as modern as it gets.

Published to Thingiverse by the aptly named [FlightSimMaker], this project consists of a dizzying number of 3D-printed components that combine into a full-featured desktop simulator for the Garmin G1000 avionics system. Everything from the parking brake lever to the push buttons in the display bezels was designed and printed: over 200 individual parts in all. Everything in this X-Plane 11 compatible simulator is controlled by an Arduino Mega 2560 with the SimVim firmware.

To help with connecting dozens of buttons, toggle switches, and rotary encoders to the Arduino, [FlightSimMaker] uses five CD74HC4067 16-channel multiplexers. The display is a 12.1 inch 1024 x 768 LCD panel with integrated driver, and comes in at the second most expensive part of the build behind the rotary encoders. All told, the estimated cost per display is around $250 USD.

Even if you aren’t looking to build yourself a high-tech flight simulator, there’s plenty of ideas and tips here that could be useful for building front panels. We particularly like the technique used for doing 3D-printed lettering: the part is printed in white, spray painted a darker color, and then the paint is sanded off the faces of the letters to reveal the plastic. Even with a standard 0.4 mm nozzle, this results in clean high-contrast labels on the panel with minimal fuss.

Of course, while impressive, these panels are just the beginning. There’s still plenty more work to do if you want to build an immersive simulation experience. Including, in the most extreme cases, buying a Boeing 737 cockpit.

Navigate Around Garmin’s Custom Map Limits

If your only experience with Garmins is from that one rental car a few years back, it may surprise you that some of them, mostly the handheld outdoor units, allow custom maps. This sounds cool until you find out the limitations. Unless you upgrade to premium, it doesn’t allow map files larger than 3MB. What’s worse, it will choke the resolution of maps larger than one megapixel. Well, bust out your virtual hiking boots, because [facklere]’s gonna take you down the trail of DIY digital cartography.

You can use any map you want as long as its not completely fictional (although wandering the maps of middle-earth would be a fun hack on top of this one). Your map can be paper, PDF, or parchment; it just has to be converted to JPEG. The map [facklere] wanted to use was a huge PDF, so as a bonus, he shows how to get from PDF to JPEG in GIMP. Then comes the fiddly part — rooting the map in reality by overlaying it on real roads using Google Earth.

You’ve still got a huge map. Now what? The secret sauce is tiling. [facklere] used KMZfactory, a free map editor for Garmin maps that goes the extra mile to split the tiles for you, keeping them under the 1MP limit. Once that’s done, just upload it to your unit and hit the road.

Got an old Garmin that won’t do custom maps? See if you can get DOOM up and running on it.

Very Pretty Gimbal With Long Feature List

What can you do when you have a nice CNC machine, but build beautiful things like this 3-axis gimbal? We covered some of [Gal]’s work before, and he does not subscribe to the idea that hacks should look like hacks. If you’re going to spend hours and hours on something, why not make it better looking than anything you could buy off-the-shelf.

The camera is held stationary with three hollow shaft gimbal motors with low cogging. We weren’t aware of hollow shaft motors, but can think of lots of sensor mounts where such a motor could be used to make very compact and smooth sensor mounts instead of the usual hobby servo configuration. The brains are an off-the-shelf gimbal controller. The gimbal has a DB9 port at the back which handles charging of the internal LiPo batteries as well as giving him a place to input R/C signals for manual control.

The case is made from CNC’d wood and aluminum. There are lots of nice touches. For example, he added two buttons so he could fine tune the pitch of the gimbal. Each button is individually engraved with an up/down arrow.

[Gal] reverse engineered the connector on Garmin action camera he’s using so he can keep it powered, stream video, or add an external mic. Next he built a custom 5.8Ghz video transmitter based on a Boscam module. The transmitter connects to the DB9 charging port on the gimbal.

It’s very cool when someone builds something for themselves that’s far beyond anything they could buy. A few videos of it in operation after the break.

Continue reading “Very Pretty Gimbal With Long Feature List”

Controlling The Garmin HUD With Bluetooth


The Garmin HUD is a very neat device, putting all your navigational info, from ETA, what lane you should be in, and distance to your next turn right on your windscreen in a heads-up display. The only problem with the Garmin HUD is that it only works with the official Garmin app, despite being a Bluetooth device. Now, someone is finally digging in to the Garmin HUD protocol, allowing anyone to control this HUD from a cell phone, tablet, or computer.

Being completely unable to disassemble the Navigon app for the HUD, [gabonator] decided the only thing to do would be to open up the device and take a peek at some of the packets travelling between the microcontroller and bluetooth module.

[gabonator] expected human readable ASCII characters, but after looking at the nonsense decoded from his oscilloscope and decoding them manually, he tried simply looking at the display in operation to understand how the protocol worked. He got it all decoded, and managed to get a Sygic Navigation program working with this Garmin HUD. You can check out a video of that below.

Thanks [Kevin] for the tip.

Continue reading “Controlling The Garmin HUD With Bluetooth”

Brute Forcing A GPS PIN


[JJ] picked up a Garmin Nuvi 780 GPS from an auction recently. One of the more frustrating features [JJ] ran into is it’s PIN code; this GPS can’t be unlocked unless a four-digit code is entered, or it’s taken to a ‘safe location’. Not wanting to let his auction windfall go to waste, [JJ] rigged up an automated brute force cracking robot to unlock this GPS.

The robot is built around an old HP scanner and a DVD drive sled to move the GPS in the X and Y axes. A clever little device made out of an eraser tip and a servo taps out every code from 0000 to 9999 and waits a bit to see if the device unlocks. It takes around 8 seconds for [JJ]’s robot to enter a single code, so entering all 10,000 PINs will take about a day and a half.

Fortunately, the people who enter these codes don’t care too much about the security of their GPS devices. The code used to unlock [JJ]’s GPS was 0248. It only took a couple of hours for the robot to enter the right code; we’d call that time well spent.

You can check out the brute force robot in action after the break.

Continue reading “Brute Forcing A GPS PIN”