Since Pokemon Go blew up the world a couple of weeks ago we’ve been trying to catch ’em all. Not the Pokemon; we’ve been trying to collect all the hardware hacks, and in particular the most complete GPS spoofing hack. We are now ready to declare the first Grandmaster GPS spoofing hack for Pokemon Go. It broadcasts fake GPS signals to your phone allowing the player to “walk around” the real world using a gaming joystick.
Just about everything about this looks right to us. They’re transmitting radio signals and are doing the responsible thing by using an RF shield box that includes a GPS antenna. Hardware setup means popping the phone inside and hooking up the signal generator and GPS evaluation hardware. Google Earth then becomes the navigation interface — a joystick allows for live player movements, coordinates are converted to GPS signals which are transmitted inside of the box.
Now, we did say “just about right”. First off, that RF shielding box isn’t going to stop your fake GPS signals when you leave the lid open (done so they can get at the phone’s touchscreen). That can probably be forgiven for the prototype version, but it’s that accelerometer data that is a bigger question mark.
When we looked at the previous SDR-based RF spoofing and the Xcode GPS cheats for Pokemon Go there were a number of people leaving comments that Niantic, the devs responsible for Pokemon Go, will eventually realize you’re cheating because accelerometer data doesn’t match up to the amount of GPS movement going on. What do you think? Is this app sophisticated enough to pick up on this type of RF hacking?
To [Stefan Kiese], this isn’t much more than an exercise. He’s not even playing Pokemon Go. To squeeze a usable GPS signal out of his HackRF One, a $300 Software Defined Radio, [Stefan] uses an external precision clock. This makes up for the insufficient calibration of the HackRF’s internal clock, although he points out that this might also be fixed entirely in software.
A digital dash is cool and all, but analog gauges have lasting appeal. There’s something about the simplicity of a purely mechanical gauge connected directly to a vehicle’s transmission. Of course that’s not what’s hapenning here. Instead, this build is an analog display for GPS-acquired speed data.
The video below does a good job at explaining the basics of [Grant Stephens]’ build. The display itself is a gutted marine speedometer fitted with the movement from a motorcycle tachometer. The tach was designed to take a 4-volt peak-to-peak square wave input signal, the frequency of which is proportional to engine speed. To display road speed, [Grant] stuffed an ATTiny85 with a GPS module into the gauge and cooked up a script to convert the GPS velocity data into a square wave. There’s obviously some latency, and the gauge doesn’t appear to register low speeds very well, but all in all it seems to match up well to the stock speedo once you convert to metric.
If you just wait around long enough, the future becomes the past. And that’s happened to the “Back to the Future” future, as you probably all remember. But BttF-themed projects are still pouring in.
[ossum] sent us the link for his build of Doc Brown’s briefcase that only opens above 88 mph. His writeup is fantastically detailed, and worth a look if you’re interested in working with a GPS unit and microcontrollers, driving seven-segment LEDs with shift registers, or just driving too fast in an old Jetta. And there’s a video demo just below the break if you’re not a believer.
One of the fundamental technologies of modern gadgets is the Global Positioning System (GPS). Using signals from satellites orbiting the earth, a GPS receiver can pin down its location with remarkable accuracy: the latest generation of Civilian Navigation Signals (CNAV) sent by the US GPS system has an accuracy of less than half a meter (about 3 feet). These signals also contain the time, accurate to within milliseconds, which makes it perfect for off-line dataloggers and systems that require very accurate timing. That’s a powerful combination that has made GPS one of the main technologies behind the mobile revolution, because it lets gadgets know where (and when) they are.
[Joop Brokking] wanted to know where his quadcopter was and had been. He thought about Google Earth, but assumed it would be difficult to get the GPS data and integrate it with Google’s imagery. But he discovered it was easier than he thought. He wound up spending around $10, although if his ‘copter didn’t already have GPS, it would have been more.
Hardware-wise, [Joop] made a pretty straightforward data logger using a small Arduino (a Pro Mini) and an SD Card (along with an SD breakout board). With this setup, NMEA data from the GPS comes in the Arduino’s serial port and winds up on the SD Card.
GPS-based location services will be around with us forever. If you’re in the outback, in the middle of the ocean, or even just in a neighborhood that doesn’t have good cell coverage, there’s no better way to figure out where you are than GPS. Using satellites orbiting thousands of miles above the Earth as a location service is an idea that breaks down at some very inopportune times. If you’re in a parking garage, you’re not using GPS to find your car. If you’re in a shopping mall, the best way to find your way to a store is still a map. Anyone every tried to use GPS and Google Maps in the hotel/casino labyrinth that is the Las Vegas strip?
[Blecky]’s entry for the Best Product competition of the Hackaday Prize aims to solve this problem. It’s an indoor location service using only cheap WiFi modules called SubPos. With just a few ESP8266 modules, [Blecky] can set up a WiFi positioning system, accurate to half a meter, that can be used wherever GPS isn’t.
The idea for a GPS-less positioning system came to [Blecky] after a caving expedition and finding navigation though subterranean structures was difficult without the aid of cell coverage and GPS. This got [Blecky] thinking what would be required to build a positioning service in a subterranian environment.
The answer to this question came in the form of a cheap WiFi module. Each of the SubPos nodes are encoded with the GPS coordinates of where they’re placed. By transmitting this location through the WiFi Beacon Frame, along with the transmitted power, any cell phone can use three or more nodes to determine its true location, down to a few centimeters. All of this is done without connecting to a specific WiFi network; it’s a complete hack of the WiFi standard to allow positioning data.
The most shallow comparison to an existing geolocation system would be a WiFi positioning system (WPS), but there are several key differences. In WPS, the WiFi APs don’t transmit their own location; the AP is simply cross-referenced with GPS coordinates in a database. Secondly, APs do not transmit their own transmit power – important if you’re using RSSI to determine how far you are from an Access Point.
The best comparison to an indoor location service comes from a new Decawave module that sets up ‘base stations’ and figures out a sensor’s location based on time of flight. This, however, requires additional radios for each device receiving location data. SubPos only requires WiFi, and you don’t even need to connect to an AP to get this location data; everything is broadcast as a beacon frame, and every device with WiFi detects a SubPos node automatically.
As an entry to the Hackaday Prize Best Product competition, there is an inevitable consideration as to how this product will be marketed. The applications for businesses are obvious; shopping malls could easily build a smartphone app showing a user exactly where in the mall they are, and provide directions to The Gap or one of the dozens of GameStops in the building. Because the SubPos nodes also work in 3D space, parking garage owners could set up a dozen or so SubPos nodes to direct you to your exact parking spot. Disney, I’m sure, would pay through the nose to get this technology in their parks.
Already [Blecky] is in talks with one company that would like to license his technology, but he’s not focused only on the high-dollar business accounts. He already has a product that needs manufacturing, and if he wins the Best Product competition, he will be working on something for the hacker/homebrew market. The price point [Blecky] sees is around $15 a node. The economics of this work with the ESP WiFi module, but [Blecky] is also looking at alternative chip sets that would allow for more than just RSSI position finding; an improved version of the SubPos node not based on the ESP-8266 could bring time of flight into the mix, providing better position accuracy while still being cheaper to manufacture than the current ESP-based solution.
[Blecky] has a great project on his hands here, and something we will, undoubtedly, see more of in the future. The idea of using WiFi beacon frames to transmit location data, and received signal strength to suss out a position is groundbreaking and applicable to everything from spelunking to finding your car in a parking garage. Since the SubPos system isn’t tied to any specific hardware, this could even be implemented in commercial routers, giving any device with WiFi true location data, inside or out. It’s also one of the top ten finalists for the Hackaday Prize Best Product competition, and like the others, it’s the cream of the crop.