Hackaday Prize Best Product: WiFi Location Services

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.

1679491438515290398
A SubPos node, equipped with an ESP8266 WiFi module

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:

Continue reading “Hackaday Prize Best Product: WiFi Location Services”

Don’t Steal This Laptop

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.

Continue reading “Don’t Steal This Laptop”

Arduino TinyGPS Updated To Support GLONASS

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)

Hackaday Prize Semifinalist: A Mobile Node

The future is the Internet of Things, or so we’re told, and with that comes the requirement for sensors attached to the Internet that also relay GPS and location data. [Camilo]’s MobileNodes do just that. He’s designed a single device that will listen to any sensor, upload that data to the Internet over GSM or GPRS, and push all that data to the cloud.

The MobileNode is a small circular (7cm) PCB with a standard ATMega32u4 microcontroller. Attached to this PCB are GSM/GPRS and GPS/GLONASS modules to receive GPS signals and relay all that data to the cloud. To this, just about any sensor can be added, including light sensors, PIR sensors, gas and temperature sensors, and just about anything else that can be measured electronically.

Of course the biggest problem with a bunch of sensors on an Internet of Things device is pulling the data from the Internet. For that, [Camilo] designed a web interface that shows sensor data directly on a Google Map. You can check out the project video below.

The 2015 Hackaday Prize is sponsored by:

Continue reading “Hackaday Prize Semifinalist: A Mobile Node”

Decoding Satellite-based Text Messages with RTL-SDR and Hacked GPS Antenna

[Carl] just found a yet another use for the RTL-SDR. He’s been decoding Inmarsat STD-C EGC messages with it. Inmarsat is a British satellite telecommunications company. They provide communications all over the world to places that do not have a reliable terrestrial communications network. STD-C is a text message communications channel used mostly by maritime operators. This channel contains Enhanced Group Call (EGC) messages which include information such as search and rescue, coast guard, weather, and more.

Not much equipment is required for this, just the RTL-SDR dongle, an antenna, a computer, and the cables to hook them all up together. Once all of the gear was collected, [Carl] used an Android app called Satellite AR to locate his nearest Inmarsat satellite. Since these satellites are geostationary, he won’t have to move his antenna once it’s pointed in the right direction.

Hacked GPS antenna
Hacked GPS antenna

As far as antennas go, [Carl] recommends a dish or helix antenna. If you don’t want to fork over the money for something that fancy, he also explains how you can modify a $10 GPS antenna to work for this purpose. He admits that it’s not the best antenna for this, but it will get the job done. A typical GPS antenna will be tuned for 1575 MHz and will contain a band pass filter that prevents the antenna from picking up signals 1-2MHz away from that frequency.

To remove the filter, the plastic case must first be removed. Then a metal reflector needs to be removed from the bottom of the antenna using a soldering iron. The actual antenna circuit is hiding under the reflector. The filter is typically the largest component on the board. After desoldering, the IN and OUT pads are bridged together. The whole thing can then be put back together for use with this project.

Once everything was hooked up and the antenna was pointed in the right place, the audio output from the dongle was piped into the SDR# tuner software. After tuning to the correct frequency and setting all of the audio parameters, the audio was then decoded with another program called tdma-demo.exe. If everything is tuned just right, the software will be able to decode the audio signal and it will start to display messages. [Carl] posted some interesting examples including a couple of pirate warnings.

If you can’t get enough RTL-SDR hacks, be sure to check out some of the others we’ve featured in the past. And don’t forget to send in links to your own hacking!

Hackaday Prize Entry: Project Dekoboko 凸凹 Maps Bumpy Roads On A Bike

If you live in New England (like me) you know that the roads take a pounding in the winter. Combine this with haphazard maintenance and you get a recipe for biking disaster: bumpy, potholed roads that can send you flying over the handlebars. Project Dekoboko 凸凹 aims to help a little with this, by helping you map and avoid the bumpiest roads and could be a godsend in this area.

The 2015 Hackaday Prize entry from [Benjamin Shih], [Daniel Rojas], and [Maxim Lapis] is a device that clips onto your bike and maps how bumpy the ride is as you pedal around. It does this by measuring the vibration of the bike frame with an accelerometer. Combine this with a GPS log and you get a map of the quality of the roads that helps you plan a smooth ride, or which could help the city figure out which roads need fixing the most.

bike-measures-bumpy-roads-thumbThe project is currently on its  third version, built around an Arduino, Adafruit Ultimate GPS Logger shield, and a protoboard that holds the accelerometer (an Analog ADXL345). The team has also set up a first version of their web site, which contains live data from a few trips around Berlin. This does show one of the issues they will need to figure out, though: the GPS data has them widely veering off the road, which means that the data was slightly off, or they were cycling through buildings on the Prinzenstrasse, including a house music club. I’ll assume that it was the GPS being inaccurate and not them stopping for a rave, but they will need to figure out ways to tie this data down to a specific street before they can start really analyzing it. Google Maps does offer a way to do this, but it is not always accurate, especially on city streets. Still, the project has made good progress and could be useful for those who are looking for a smooth ride around town.

Continue reading “Hackaday Prize Entry: Project Dekoboko 凸凹 Maps Bumpy Roads On A Bike”

Hackaday Prize Entry: A Tiny Tool for Car Hacking

A car from 1940 would have been an almost completely mechanical device. These days though, a car without electricity wouldn’t run. It’s not the engine – it’s the computers; the design details of which automotive manufacturers would love to keep out of the hands of hardware hackers like us. [Mastro Gippo] wanted to build a small and powerful CAN bus reverse engineering tool, and the Crunchtrack hits it out of the park. It’s a CAN bus transceiver, GPS receiver, and GSM modem all wrapped up into a single tiny device that fits under your dash.

[Mastro] has a slight fetish for efficiency and tiny, tiny devices, so he’s packaging everything inside the shell of a standard ELM327 Bluetooth adapter. This is a device that can fit in the palm of your hand, but still taps a CAN bus (with the help of a computer), receives GPS, and sends that data out over cell phone towers.

The device is based on the STM32 F3 ARM microcontroller (with mbed support), a ublox 7 GPS module, and an SIM800 GSM module, but the story doesn’t stop with hardware. [Mastro] is also working on a website where reverse engineering data can be shared between car hackers. That makes this an excellent Hackaday Prize entry, and we can’t wait to see where it goes from here.

The 2015 Hackaday Prize is sponsored by: