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.
[Jed Hodson] put together a nice little data logger with a Linkit One board at its heart. It’s capable of logging two analog channels and one digital channel which also has PWM capabilities. A GPS is used to get the correct time and a Freetronics OLED display coupled with a shield lets the user view the data in real time.
The data is logged on the Linkit One’s internal storage as a .CSV file, allowing for easy access via a spread sheet program. A LiPo rechargeable battery keeps the electrons flowing and the system will give a warning once the power drops below 20%. Speaking of system – the Linkit One board features an ARM-7 processor and has headers to fit Arduino shields. It’s targeted for wearable and IoT type devices.
Be sure to check out this project if you’re in need of a nice data logger. All code and details of the build are available on [Jed’s] Blog.
I came across an interesting question this weekend: how do you establish your East/West location on the globe without modern technology? The answer depends on what you mean by “modern”, it turns out you only have to go back about three centuries to find there was no reliable way. The technology that changed that was a clock; a very special one that kept accurate time despite changing atmospheric conditions and motion. The invention of the Harrison H1 revolutionized maritime travel.
We can thank Andy Weir for getting me onto this topic. I just finished his amazing novel The Martian and I can confirm that George Graves’ opinion of the high quality of that novel is spot on. For the most part, Andy lines up challenges that Mark Watney faces and then engineers a solution around them. But when it came to plotting location on the surface of Mars he made just a passing reference to the need to have accurate clocks to determine longitude. I had always assumed that a sextant was all you needed. But unless you have a known landmark to sight from this will only establish your latitude (North/South position).
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.
The 2015 Hackaday Prize is sponsored by:
As laptops have become smaller and easy to carry around, they have also picked up the most unfortunate property of being easy to steal. We’ve read the stories of how some victims are able to track them down via webcam still images of the thief. [Mastro Gippo] decided to take it one step further and add a remotely operated hardware self destruct to his laptop. The idea is if the laptop becomes unrecoverable, it will become useless and any sensitive data will be destroyed without harming the area around it.
It’s somewhat inception like, as it’s a hack within a hack. It’s based on the Crunchtrack, a CAN bus reverse engineering tool equipped with GPS and a SIM800 GSM module, which was also developed by [Mastro Gippo]. The idea is to tuck the small board somewhere in the laptop and wire it up between the battery and some sensitive parts. Send a single SMS text and ‘poof’, bye-bye laptop.
He wrote all the code in less the 24 hours for the BattleHack Hackathon. He decided to spice up the act with some firecrackers and a detonator, which made his team the crowd favorite and earned a victory.
GPS is a global technology these days, with the Russian GLONASS system and the forthcoming European Galileo orbiting alongside the original US GPS satellites above our heads. [Florin Duroiu] decided to embrace globalism by forking the TinyGPS library for the Arduino platform to add support for these satellite constellations.
In addition to the GLONASS support, the new version of the venerable TinyGPS adds some neat new features by incorporating the NMEA 3.0 standard (warning: big-ass PDF link). Using this, you can extract interesting stuff such as the calculated position from each satellite constellation, the signal strength of each satellite and a lot more technical stuff about what the satellites are saying about you to your GPS receiver. [Florin] claims it is a drop-in replacement for TinyGPS that should require no rewriting. There is no support for Galileo just yet (as the satellites are still being launched: eight are in orbit now), but [Florin] is looking for help to add this, as well as the new Chinese BEIDOU system once it is operational.
(top image: artists’ view of a Galileo satellite in orbit, courtesy of ESA)