Category: Satellite

Building A Low Cost GOES Weather Satellite Receiver with an RTL-SDR

Over on Twitter and his github.io page, Pieter Noordhuis (@pnoordhuis) has shared details about his low cost RTL-SDR based GOES satellite receiving setup. GOES 15/16/17 are geosynchronous weather satellites that beam back high resolution weather images and data. In particular they send beautiful high resolution 'full disk' images which show one side of the entire earth. As the satellites are in geosynchronous orbit, they are quite a bit further away from the earth. So compared to the more easily receivable low earth orbit satellites such as the NOAA APT and Meteor M2 LRPT satellites, a dish antenna, good LNA and possibly a filter is required to receive them. However fortunately, as they are in a geosynchronous orbit, the satellite is in the same position in the sky all the time, so no tracking hardware is required.

In the past we've seen people receive these images with higher end SDRs like the Airspy and SDRplay. However, Pieter has shown that it is possible to receive these images on a budget. He uses an RTL-SDR, a 1.9 GHz grid dish antenna from L-Com, a Raspberry Pi 2, the NooElec 'SAWBird' LNA, and an additional SPF5189Z based LNA. The SAWBird is a yet to be released product from NooElec. It is similar to their 1.5 GHz Inmarsat LNA, but with a different SAW filter designed for 1.7 GHz GOES satellites. The total cost of all required parts should be less than US $200 (excluding any shipping costs).

Pieter also notes that he uses the stock 1.9 GHz feed on the L-com antenna, and that it appears to work fine for the 1.7 GHz GOES satellite frequency. With this dish he is able to receive all three GOES satellites at his location with the lowest being at 25 degrees elevation. If the elevation is lower at your location he mentions that a larger dish may be required. It may be possible to extend the 1.9 GHz L-Band dish for better reception with panels from a second cheaper 2.4 GHz grid dish, and this is what @scott23192 did in his setup.

For software Pieter uses the open source goestools software that Pieter himself developed. The software is capable of running on the Raspberry Pi 2 and demodulating and decoding the signal, and then fully assembling the decoded signal into files and images.

Pieters GOES RTL-SDR Receiving Setup
Pieters Low Cost GOES RTL-SDR Receiving Setup

Detecting GPS Jammers In Augmented Reality

The NT1065 is an all-in-one 4-channel global navigation satellite system (GNSS) receiver chip. It is highly versatile and can receive and decode multiple navigation satellites such as GPS, GLONASS, Galileo, BeiDou, IRNSS and QZSS. Being able to receive so many satellites, it is capable of centimeter level positioning.

The team at Amungo Navigation have taken this chip and have created a product called the NUT4NT+ which is essentially a development board for the NT1065, and all the software for signal processing with it is provided as open source software. In the near future they are planning to begin fundraising for the product over on the crowd funding site CrowdSupply.

One very interesting application that they have been developing with a device similar to the NUT5NT+ is a GPS Jammer/Spoofer detector system which they call the Amungo XNZR. This is a combined 4-channel GNSS receiver and 4-antenna GNSS antenna system built into a small package that fits onto the back of an Android tablet. When connected to the software it uses augmented reality (AR) to show you exactly where GPS jammers are in the vicinity by using coherent signal processing. If you're not familiar with AR, this is the technique of overlaying digital data/images on top of a live real world camera view.

Detecting a Kremlin GPS Spoofer in Augmented Reality
Detecting a Kremlin GPS Spoofer in Augmented Reality

In the video below they take their XNZR detector to Varvarka Street in Moscow Russia and determine the location of a GPS spoofer in the vicinity. 

More information about their product can be found on their homepage, and on various interesting forum posts by someone from the company that detail some of their experiments. Note that the forum posts are in Russian, but Google Translate can be used to translate the text.

XNZR is searching for Moscow GPS Spoofing Anomaly

The NOAA-15 Weather Satellite May be Failing

Over the last few days the NOAA-15 APT weather satellite has begun to show signs of failure with people receiving corrupted images. NOAA 15, 18 and 19 are weather satellites that can be easily received with an RTL-SDR and a satellite antenna such as a V-Dipole, QFH or Turnstile (tutorial here). NOAA 15 was launched on 13 May 1998, making it one month away from being 20 years old. To put it into perspective, NOAA-15 was only built to the spec of being designed to last 2 years minimum. 

The problem currently appears to be intermittent and is due to a loss of lubricant on the scan motor. NOAA released a message:

The N15 AVHRR global imaging became corrupted on April 12 at ~0000 UTC due to sync issues. This may be caused by erratic scan motor current due to loss of lubricant. The problem appears to have corrected itself, as the global image is no longer corrupted. The issue is still under investigation.

In the Tweet below UHF Satcom displays an example of a corrupted image that was received.

The issue is intermittent, and hopefully it can be fixed, but if not we still have NOAA 18 and 19 which were launched in 2005 and 2009 respectively, as well as the Russian Meteor M2 satellite which was launched in 2014. 

If you're interested discussion of this topic can be found on various Reddit threads [1], [2], [3].

Automatically Receiving, Decoding and Tweeting NOAA Weather Satellite Images with a Raspberry Pi and RTL-SDR

Over on Reddit we've seen an interesting post by "mrthenarwhal" who describes to us his NOAA weather satellite receiving system that automatically uploads decoded images to a Twitter account. The set up consists of a Raspberry Pi with RTL-SDR dongle, a 137 MHz tuned QFH antenna and some scripts.

The software is based on the set up from this excellent tutorial, which creates scripts and a crontab entry that automatically activates whenever a NOAA weather satellite passes overhead. Once running, the script activates the RTL-SDR and APT decoder which creates the weather satellite image. He then uses some of his owns scripts in Twython which automatically posts the images to a Twitter account. His Twython scripts as well as a readme file that shows how to use them can be found in his Google Drive.

mrthenarwhal AKA @BarronWeather's twitter feed with automatically uploaded NOAA weather satellite images.
mrthenarwhal AKA @BarronWeather's twitter feed with automatically uploaded NOAA weather satellite images.

Art from Satellite Transmissions: SatNOGS and Software Defined Radio used in a Sound Art Installation

One of the piezo speakers playing the satellite transmissions.
One of the piezo speakers playing the satellite transmissions.

In the past we've seen software defined radio's like the HackRF use to create art installations such as the 'Holypager', which was an art project that aimed to draw attention to the breach of privacy caused by pagers used by doctors and staff at hospitals.

Recently another art installation involving a software defined radio was exhibited at Wichita State University. The project by artist Nicholas A. Knouf is called "they transmitted continuously / but our times rarely aligned / and their signals dissipated in the æther" and it aims to collect the sounds of various satellite transmissions, and play them back using small piezo speakers in the art gallery. To do this he built a SatNOGS receiver and used a software defined radio to capture the audio. He doesn't mention which SDR was used, but most commonly RTL-SDR's are used with the SatNOGS project. Nicholas describes the project below:

This 20-channel sound installation represents the results of collecting hundreds of transmissions from satellites orbiting the earth. Using custom antennas that I built from scratch, I tracked the orbits and frequencies of satellites using specialized software. This software then allows me to collect the radio frequency signals and translate them into sound.

The open source software and hardware, called SatNOGS and developed by a world-wide group of satellite enthusiasts, enables anyone to build a ground station for tracking satellites and their transmissions, which are then uploaded to a publicly accessable database. Data received by my ground stations can be found here. These transmissions are mostly from weather satellites, CubeSats (small satellites launched by universities world-wide for short-term research), or amateur radio repeaters (satellites designed for ham radio operators to experiment with communication over long distances).

I made the speakers hanging from the grid from a piezoelectric element embedded between two sheets of handmade abaca paper that was then air dried over a form.

The project was also discussed over on the SatNOGS forum.

The SatNOGS art installation
The SatNOGS art installation

SDR# GPredict Satellite Tracking Plugin

Thanks to Alex for submitting news about his new SDR# plugin called "SDRSharp.GpredictConnector". This plugin allows SDR# to interface with GPredict which is a tool used for tracking the orbit of satellites. Just like with the DDE Tracking plugin and the Orbitron satellite tracking program this plugin could be used to automatically tune SDR# to the frequency of a passing satellite using GPredict. It should also be able to compensate for any doppler shift frequency offset.

To use with SDR# simply download the zip file and move the .dll file into the SDR# folder. Then add the 'magicline' to the plugins.xml file using a text editor. In GPredict you can then add a radio interface from the preferences, and then use the 'Radio Connect' interface to connect to the plugin.

Connecting to GPredict using the GPredictConnector SDR# Plugin
Connecting to GPredict using the GPredictConnector SDR# Plugin

Decoding Meteor-M Images on a Raspberry Pi with an RTL-SDR

Thanks to Andrey for writing in and showing us his Java based Meteor-M decoder for the RTL-SDR which he uses on a Raspberry Pi. The decoder is based on the meteor-m2-lrpt GNU Radio script and the meteor_decoder which he ported over to Java. Essentially what he's done is port over to Java a bunch of GNU Radio blocks as well as the meteor decoder. The ported Java blocks could also be useful for other projects that want to be cross platform or run without the need for GNU Radio to be installed.

In his blog post (blog post is in Russian, use Google Translate for English) Andrey explains his motivation for writing the software which was that the Windows work flow with SDR# and LRPTofflineDecoder is quite convoluted and cannot be run headless on a Raspberry Pi. He then goes on to explain the decoding algorithm, and some code optimizations that he used in Java to speed up the decoding. Andrey notes that his Java version is almost 2x slower compared to the GNU Radio version, but still fast enough for real time demodulation.

Meteor-M2 is a Russian weather satellite that operates in the 137 MHz weather satellite band. With an RTL-SDR and satellite antenna these images can be received. Running on a Raspberry Pi allows you to set up a permanent weather satellite station that will consistently download images as the satellite passes over.

Decoded Images with Andry's Meteor-M software on Raspberry Pi.
Images received with Andry's Meteor-M software running on a Raspberry Pi.

Outernet 3.0: Implementation Details and a 71,572km LoRa World Record

Outernet Dreamcatcher Board running with an LNB
Outernet Dreamcatcher Board running with a cheap satellite TV LNB

Outernet 3.0 is gearing up for launch soon, and just today they've released a blog post introducing us to the RF protocol technology behind the new service. If you weren't already aware, Outernet is a free satellite based information service that aims to be a sort of 'library in the sky'. Their aim to to have satellites constantly broadcasting down weather, news, books, radio, web pages, and files to everyone in the world. As it's satellite based this is censorship resistant, and useful for remote/marine areas without or with slow/capped internet access.

Originally a few years ago they started with a 12 GHz DVB-S satellites service that gave 1GB of content a day, but that service required a large dish antenna which severely hampered user adoption. Their second attempt was with an L-band service that only needed a small patch antenna. This service used RTL-SDR dongles as the receiver, so it was very cheap to set up. Unfortunately the L-band service had a very slow data rates (less than 20MB of content a day), and leasing an L-band transmitter on a satellite proved to be far too expensive for Outernet to continue with. Both these services have now been discontinued.

Outernet 3.0 aims to fix their previous issues, giving us a service that provides over 300MB of data a day, with a relatively cheap US$99 receiver that is small and easy to set up. The new receiver uses a standard Ku-Band LNB as the antenna, which is very cheaply available as they are often used for satellite TV reception. The receiver itself is a custom PCB containing a hardware (non-SDR based) receiver with a LoRa decoder.

LoRa is an RF protocol that is most often associated with small Internet of Things (IoT) devices, but Outernet have chosen it as their satellite protocol for Outernet 3.0 because it is very tolerant to interference. In Outernet 3.0 the LNB is pointed directly at the satellite without any directive satellite dish, meaning that interference from other satellites can be a problem. But LoRa solves that by being tolerant to interference. From the uplink facility to the satellite and back to their base in Chicago the LoRa signal travels 71,572 km, making it the longest LoRa signal ever transmitted.

According to notes in their forums Outernet 3.0 is going to be first available only in North America. Europe should follow shortly after, and then eventually other regions too. When ready, their 'Dreamcatcher 3.0' receiver and computing hardware is expected to be released for US$99 on their store. You can sign up for their email list on that page to be notified upon release.

Also as a bonus, for those interested in just LoRa, the Dreamcatcher 3.0 is also going to be able to transmit LoRa at frequencies anywhere between 1 MHz to 6 GHz, making it great for setting up long range LoRa links. This might be an interesting idea for hams to play with.

The Outernet 3.0 'Dreamcatcher' Receiver.
The Outernet 3.0 'Dreamcatcher' Receiver.