Capture high resolution satellite imagery for free (GOES series)

Decode free images from geostationary weather satellites using SDR

Stefan Todoran
6 min readJun 7, 2023

With a rich history spanning over several decades, the Geostationary Operational Environmental Satellites (GOES) have remained at the forefront of weather monitoring and forecasting. Operating in geostationary orbit, these remarkable satellites provide a comprehensive and uninterrupted view of weather patterns across the Americas. From capturing high-resolution images of clouds, storms, and tropical cyclones to monitoring atmospheric conditions, GOES satellites play a pivotal role in enabling accurate predictions, early warning systems, and a deeper understanding of Earth’s dynamic climate.

Currently, there are several active GOES satellites, working in tandem to deliver critical meteorological data to scientists, forecasters, and the public alike. Thanks to their policy of open data, you too can partake and receive and decode satellite imagery from GOES, potentially from the comfort of your own backyard!

Materials

No two setups are the same, as the myriad of tutorials for receiving satellite imagery available online clearly show. That said, the materials we used were the following:

  • Nooelec neSDR SMARTEE
  • 2 Low Noise Amplifiers
  • Wifi Dish with Parabolic Antenna
  • Nooelec Sawbird GOES Filter

One low noise amplifier (LNA) should be placed closest to the antenna signal output, followed by the filter, then the other LNA, and finally the SDR. Depending on your setup, you might be tempted to use an extension cable, however you may find that the extension cable degrades the signal. For example, our setup just hung from the antenna output — a worrying sight to see. This motivated us to try using an extension cable, only to find that it degraded the signal beyond recognition.

Additional materials needed include a compass, level, and external battery for the LNAs. While we did not use a real compass and instead relied on a cellphone compass app, such apps are unreliable and introduced difficulty to the process. It might also be useful to learn how to use said compass, because when we did get our hands on a physical compass we were unable to make use of it!

Finally, in order to mount our dish and antenna we repurposed an old telescope tripod. Such a tripod is preferable to a simple camera tripod as it comes with finer tuners for adjusting the pan, tilt and roll. Even an error of a mere couple of degrees off the azimuth can impact the signal quality.

Setup

The ideal location is one that is flat and open, where the line of sight to the satellite crosses as empty of an area as possible. That is to say, a park in the middle of your city meets the first criteria, but fails the second. The primary purpose of the dish is to block noise from behind and to reflect and concentrate signal to the receiver. A park in the middle of a city will have radio noise interference coming from all directions, so the dish will only block about half of this ambient noise. Selecting a location where noise from the city is mostly from behind you can massively improve results. See the illustration of our setup location below for a visualization of this concept.

Notice that most areas of the city within our dish’s field of view are far away, greatly reducing noise.

We found that it was easiest to first set the inclination angle (or tilt) before the horizontal rotation (or pan), due to the level being a more consistent tool than the compass, and the satellite not always being at exactly the longitude listed online. Therefore the process went as follows:

  • Find a flat spot and set up the tripod, antenna, and SDR chain
  • Set the tripod inclination angle (tilt) to 33.5° using the level
  • Roughly point the antenna towards 200° using the compass
  • Boot up goestools and use the vit score and packets to fine tune the exact angle

Note that the values listed above will differ depending on your location. Tools like https://www.n2yo.com/ can help you figure out the angles needed.

The first working setup (this was attempt #4)

Even once you have pointed the antenna towards the satellite, there remain many variables to tinker with in the pursuit of the optimal signal. For example, the use of the spacer, if the sun is out, or signal polarity; the signals sent by GOES satellites are linearly polarized, which means if the receiver is rotated (roll) 90° relative to the signal, then the signal will not be visible. If you seem to be doing everything right but still see little to no signal, try changing the dish’s roll by 90°.

The second working setup, hiding behind a bush to reduce wind

A couple of useful tutorials that we referenced over the course of this project are linked below. Even if you don’t follow any of these exactly (we certainly didn’t), reading about what others did provides valuable insight into possible troubleshooting options.

Two more valuable resources are the GOES series data book and the WMO OSCAR website. The GOES data book contains a ton of information about the GOES satellite family, but one page in particular that you might find useful is page 31, which can help you understand the imagery you receive. Each image comes with a json file containing metadata about the image, such as the channel number, time taken or imaging mode, all of which you can find more details about this page. The WMO website is useful for general satellite information such as broadcast frequency, bandwidth, longitude, etc.

Results

Here are some of the images we received between two different capture dates. With a correct setup and strong enough signal, images should starting coming through in just a few minutes. Some are from the GOES satellite you are targeting, but some are rebroadcasts; we were tracking the GOES-18 satellite but got re-transmits from GOES-16 and Himawari8.

Red Band Capture (VNIR Channel 2)

Here, we can see some non-visible band captures. The GOES satellites capture 16 different wavelengths, most of them infrared. The center image is a re-transmit from GOES-16. Notice the different position relative to the Americas.

Various LWIR Captures (Channels 13 & 15)

Below is the first image we ever got from GOES-18! Just a few minutes before getting this image, we were ready to pack up and go home… luckily we stuck it through. If you take anything away from this article, let it be to not give up!

Red Band Capture (VNIR Channel 2)

Tips

  • Use a roughly half inch spacer for the antenna reflector
  • Record in a flat, open area to minimize reflection interference
  • Minimize interference and record either outside the city, or where it can point away from the city
  • Images should start coming in after about 1–3 minutes, if this does not happen something is wrong
  • Don’t underestimate the wind! Even the small waver of the dish in the wind can increase packet drops
  • If you are tuning your setup (angle, incline, etc.) by watching goestools , note that goestools has to “lock on” to the frequency and leave time between adjustments
  • Shoot for at most a vit score of 500, images can still be saved with a vit of around 600 but there will be a high number of packet drops
  • Don’t give up! The tiniest factor can throw off the receiver and sometimes trying the same setup twice yields different results

--

--

Stefan Todoran

Hey there, I'm Stefan! Currently I'm an Applied Scientist at UiPath, and I'm also doing computer vision research with a geoscience + AI/ML lab called GeoSMART.