Software-defined radio (or SDR) is a relatively new (to average tinkerers, at least) way of sending and receiving radio signals. The interest in SDR exploded recently with the realization that cheap USB TV tuner cards could be used to start exploring the frequency spectrum at an extremely reduced cost. One of the reasons that this is so advantageous is because of all of the options that a general-purpose computer opens up that go beyond transmitting and receiving, as [Chris] shows with his project that ties SDR together with GPS.
There are a lot of opportunities here for anyone with SDR. Maybe an emergency alert system that can tune to weather broadcasts if there’s a weather alert, or any of a number of other captivating projects. As for this project, [Chris] plans to use Google’s voice recognition software to transcribe the broadcasts as well. The world of SDR is at your fingertips to do anything you can imagine! And, if you’re looking to get started in it, be sure to check out the original post covering those USB TV tuner dongles.
Every time you watch a SpaceX livestream to see a roaring success or fireball on a barge (pick your poison), you probably see a few cubesats go up. Everytime you watch a Soyuz launch that is inexplicably on liveleak.com before anywhere else, you’re seeing a few cubesats go up. There are now hundreds of these 10 cm satellites in orbit, and SatNogs, the winner of the Hackaday Prize a two years ago, gives all these cubesats a global network of ground stations.
There is one significant problem with a global network of satellite tracking ground stations: you need to know the orbit of all these cubesats. This, as with all Low Earth Orbit deployments that do not have thrusters and rarely have attitude control, is a problem. These cubesats are tumbling through the rarefied atmosphere, leading to orbits that are unpredictable over several months.
The hardware for [hornig]’s Distributed Ground Station Network is as simple as you would expect. It’s just an RTL-SDR TV tuner USB dongle, a few antennas, a GPS receiver, and a Raspberry Pi connected to the Internet. This device needs to be simple; unlike SatNogs, where single base station in the middle of nowhere can still receive data from cubesats, this system needs multiple receivers all within the view of a satellite.
The modern system of GPS satellites is one of the greatest technological achievements of all time. Not only did the US need to put highly accurate clocks in orbit, the designers of the system needed to take into account relativistic effects. Doing GPS in reverse – determining the orbit of satellites on the ground – is likewise a very impressive project, and something that is certainly a contender for this year’s Hackaday Prize.
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.
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)
[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.
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.
While getting geared up for geocaching [Folkert van Heusden] decided he didn’t want to get one of those run of the mill GPS modules, and being inspired by steam punk set out and made his own.
Starting with an antique wooden box, and adding an Arduino, GPS module, and LiPo battery to make the brains. The user interface consists of good ‘ole toggle switches and a pair of quad seven segment displays to enter, and check longitude and latitude.
To top off the retro vibe of the machine two analog current meters were repurposed to indicate not only direction, but also distance, which we think is pretty spiffy. Everything was placed in a laser cut wooden control panel, which lend to the old-time feel of the entire project.
Quite a bit of wire and a few sticks of hot glue later and [Folkert] is off and ready for an adventure!
There are plenty of GPS navigation units on the market today, but it’s always fun to build something yourself. That’s what [middelbeek] did with his $25 GPS device. He managed to find a few good deals on electronics components online, including and Arduino Uno, a GPS module, and a TFT display.
In order to get the map images on the device, [middelbeek] has to go through a manual process. First he has to download a GEOTIFF of the area he wants mapped. A GEOTIFF is a metadata standard that allows georeferencing information to be embedded into a TIFF image file. [middelbeek] then has to convert the GEOTIFF into an 8-bit BMP image file. The BMP images get stored on an SD card along with a .dat file that describes the boundaries of each BMP. The .dat file was also manually created.
The Arduino loads this data and displays the correct map onto the 320×240 TFT display. [middelbeek] explains on his github page that he is currently unable to display data from two map files at once, which can lead to problems when the position moves to the edge of the map. We suspect that with some more work and tuning this system could be improved and made easier to use, of course for under $25 you can’t expect too much.