This is a testing site only. See the live Public Lab site here »

Public Lab Research note

DIY Satellite Ground Station

by sashae , sophied | June 26, 2020 17:12 26 Jun 17:12 | #24043 | #24043

sashae was awarded the Basic Barnstar by ektopyrotic for their work in this research note.

Guide for the reception of NOAA satellite images using software defined radio on Windows or MacOS

We document here only a few ways to receive an Automatic Picture Transmission (APT) from active National Oceanic and Atmospheric Administration (NOAA) satellites. Other software and hardware setups are possible! Importantly, the guide is limited to Windows and MacOS. Please get in touch if you would like to contribute instructions for Linux or another operating system.

image description

NOAA 19 N 80 W 2020-05-17 18-03 BST Multi-spectral Analysis

What you need


  • A computer of any model. 4GB RAM or higher is ideal.
  • A software defined radio dongle. There are many kinds are available:
  • An antenna capable of receiving circularly polarised transmissions:
  • One or two cables. We recommend two options:
    • an RF cable for connection between antenna and dongle (£5–10).
      The RF cable should have 50 ohms impedance. Two metres is a good length. The cable needs a male SMA plug to fit into the dongle.
    • a USB A male to USB A female extension cable (£5–10) and a short cable or adapter to connect your dongle to your antenna. Ideally, the USB cable should be no longer than 3 metres to avoid interference. This set-up is based on the RTL-SDR dongle kits (£35), which come with a dongle, adapter, extension cable as well as a portable dipole antenna.

Note: #open-weather hopes to publish a tutorial on DIY antenna design and construction soon!


  • Software defined radio
  • Virtual audio cable
  • Satellite decoding software
    For both Windows and Mac OS we use WXtoImg (free)


Once you've assembled the hardware, a day to half a day, a little patience and, ideally, a buddy to do things like hold your antenna while you tune the software.

Useful acronyms

Acronym Description
RF Radio Frequency
APT Automatic Picture Transmission
NOAA National Oceanic and Atmospheric Administration
MacOS Mac or Macintosh Operating System
SDR Software Defined Radio
WAV Waveform Audio File
AVHRR Advanced Very High Resolution Radiometer
LEO Low Earth Orbit

Understanding what you are about to do

NOAA satellite transmissions

How do NOAA satellites collect data?
The images transmitted by NOAA satellites are produced by the satellite's primary scanning instrument called the Advanced Very High Resolution Radiometer (AVHRR). The instrument is designed to detect five channels of radiant energy from the surface of the Earth ranging from the visible spectrum to the near-infrared and infrared or thermal spectra. As the satellite passes over a given part of the earth, the AVHRR sensors collect and transmit data in near-real time. Think of the satellite as scanning Earth's surface line by line. In the resulting images each pixel is approximately 4 × 4 km.

How do they transmit data?
The NOAA satellites have inbuilt radio antennas that transmit the data collected by the AVHRR instrument on a frequency in the 137 MHz range. To minimise interference between satellites, each NOAA satellite transmits on a different frequency within the 137 MHz range.

How do NOAA satellites orbit?
NOAA satellites orbit the Earth sun-synchronously. A sun-synchronous orbit is a nearly polar orbit in which the satellite passes over a given point of the planet's surface at the same time everyday. The NOAA satellites follow a Low Earth Orbit (LEO). A LEO is an Earth-centered orbit with an altitude below 2,000 km. Each satellite circles the Earth approximately every 100 minutes.


What does the antenna do?
Your antenna is a sensor. It catches electromagnetic waves and transforms them into an electrical current i.e. an electrical signal. All antennas are tuned to specific frequency ranges meaning that they receive or transmit these frequencies best. Most antennas are directional.

What does the RF cable do?
An RF cable is an insulated radio frequency cable. It includes a central conductor surrounded by a shield conductor. The cable carries electrical signals from one point to another (i.e. from your antenna to your dongle) without introducing interference.

What does the dongle do?
The dongle receives the electrical signal from the coaxial cable, filters it, and converts it from analogue to a digital I/Q so that it can be read by your computer.


Why do you need software?
You need software to process the digital signal sent to your computer by your dongle. Software makes these signals visible and audible; other software decodes the signals transmitted by the satellites into visual images.

What are the different kinds of software needed?
To decode transmissions from satellites, you need three kinds of software:

  • Software Defined Radio or SDR software to demodulate the radio waves caught by your antenna and tune to specific frequencies, like a traditional radio. SDR software outputs audio
  • Satellite decoding software (e.g. WXtoImg) to take the audio generated by the SDR software and decode it into an image
  • A virtual audio cable software to link the SDR software and the satellite decoding software...

How can I practice using SDR software?
The best way to practice using SDR technologies is to take your equipment (antenna, computer, dongle and cables) out into a nearby open space, plug everything in, launch your SDR software, and have fun exploring the radio spectrum. You can try things like changing modes (modulation), scrolling through ham radio bands, and switching frequencies. See below for start up guide to SDR software.

How do you connect your SDR software to your satellite decoding software?
No matter what kind of computer you have and what kind of SDR software you prefer, you need to send the audio output from your SDR software to your satellite decoding software (e.g. WXtoImg). You can use a range of free software to act as the 'virtual cable' between the SDR software and satellite decoding software. @sophied uses Soundflower (for Mac) while @sashae prefers VB Cable (for Windows 10).


image description

DIY satellite ground station, @sophied CC BY 2.0

Step 1: Assemble your kit

1. Connect your antenna to your RF cable. (If you need to assemble your antenna do this first)

2. Screw the coaxial cable into the non-USB side of the dongle (Be careful not to over tighten the cable connector as they are easily destroyed. No more than finger tight)

3. Plug your dongle into a free USB port on your computer

Step 2: Install a virtual audio cable

1. Download and install a virtual audio cable. We use Soundflower for Mac (@sophied) and VB Cable for Windows (@sashae).

2. Follow the install instructions on the application's website.

Step 3: Set up your SDR software

If you are using SDR# for Windows, follow these steps:

See below for SDR software set up on MacOS

image description

@sashae decoding a NOAA satellite pass using SDR# and WXtoImg

1. Download and install SDR#.

2. Plug your dongle into a USB port. Launch SDR#.

image description

SDR# start-up window

3. Select your Dongle type. Use the arrow to Select Source > [Your Dongle]

4. Set the Samplerate. In the left panel, scroll down to view the Audio settings. Select Samplerate > 192,000 sample/second.

5. Adjust Audio Input and Output settings. Make sure the audio input is your computer's soundcard. For @sashae this means selecting MME Microsoft soundcard from the input list. Make sure the audio output is your virtual audio cable.

image description

SDR# audio settings

6. Start receiving: Click the Play button at the top left of the window.

7. Tune to a frequency: In the frequency display box, click on the upper half of each number to increase, and the lower half to decrease frequency. You can also click, drag and scroll through frequencies using the waterfall display.

image description

Changing frequency in SDR#

8. Changing Modes: click bubbles labelled AM, NFM, WFM, USB, LSB, CW at the left panel to change the mode in which data is demodulated by the software. For receiving transmissions from NOAA satellites, Choose WFM or "Wide FM".

image description

Selecting modes in SDR#

9. Adjusting Bandwidth: in the left panel, find the window for bandwidth; use your number keys or the small up / down arrows to increase or decrease bandwidth. For receiving satellite transmissions, select a bandwidth between 36,000 - 45,000 KHz.

Tip: You can also use your mouse: in the waterfall display, click on the edge of the frequency range and drag left or right to manually increase or decrease bandwidth.

10. Adjusting Volume: drag the Volume slider to increase or decrease.

Tip: Other settings in SDR# can remain in default modes; For example the Filter in SDR# can remain Blackman-Harris 4.

If you are using CubicSDR for Mac, follow these steps:

image description

@sophied decoding a NOAA satellite pass using CubicSDR and WXtoImg

1. Download and install CubicSDR.

Tip: You will be directed to the most recent version of CubicSDR on GitHub. If you cannot see a file with "Mac" in its name, look for "Darwin". Why? MacOS software runs off a piece of open source software called Darwin.

2. Launch CubicSDR

3. In the dialog window select your dongle from the Devices list and click Start. For example, for the RTL-SDR dongle select "Generic RTL2832U OEM :: 00000001".

image description

CubicSDR Dialogue window

Tip: If you do not know it already, find out the sample rate of your dongle. When the dongle is selected, its sample rate will be displayed in the table on the right side of the dialogue window. Make a note of it.

4. Click Sample Rate and select the correct sample rate for your dongle. The sample rate for the RTL-SDR dongle is 1.92 MHz.

image description

Sample Rate menu in CubicSDR

5. To check CubicSDR is working, click anywhere on the bottom waterfall.

The default settings for Cubic SDR are:

Setting Default
Modulation type FM (Frequency Modulation)
Demodulation frequency 100 MHz
Bandwidth 200 KHz
Audio out You computer’s default audio output

Tip: In Europe, the 100 MHz area of the radio spectrum is used for public radio broadcasts. If you click on an area of the waterfall in yellow or orange you should hear a radio station.

Tip: CubicSDR offers useful Hover Tips and information on commands and shortcuts in the bottom bar of the window. Hover Tips are switched on by default and are a great way to get to know the software. If you want to turn them off, click Settings > deselect Show hover tips. Take time to explore these!

6. Tune to a frequency. There are three easy ways to tune to a frequency in CubicSDR

  • Under the label 'Centre Frequency', click on the upper and lower parts of the numbers.

image description

Tuning to a frequency in CubicSDR

  • Click on the lower waterfall.

  • Begin typing a number. A pop-up window will appear. Complete typing the frequency you want and, on your keyboard, press Return. Remember, the default until is Megahertz, always written as MHz. Megahertz is a unit of frequency equal to one million hertz.

image description

Frequency pop-up window in CubicSDR

7. To change "Modulation type" or modes, on the top left select AM, FMS, NBFM, AM, LSB, USB, DSB, I/Q. NOAA satellite transmissions are FM, which is the acronym for Frequency Modulation.

8. Adjust the bandwidth. Under the label Bandwidth, click on the upper and lower parts of the numbers.

9. Adjust the audio output volume. In the top left, click and drag the vertical green bar.

10. Select the audio output: click the audio-out dropdown in the top left corner and choose your virtual audio device that you previously setup. In @sophied 's case this is "Soundflower (2ch)".

Step 4: Set up WXtoImg, your satellite decoding software

1. Download and install WXtoImg.

Tip: when you first launch WXtoImg, you will be taken through a series of steps to tailor the software to your computer. Go through the steps. Then follow the instructions below.

2. Assigning your Ground Station Location. Select Options > Ground Station Location (you can either search for a city or input your latitude and longitude manually)

image description

Ground station location in WXtoImg

3. Update Keplers. Select File > Update Keplers (It is good to update Keplers before every satellite decoding session to maintain accuracy) (the computer must be connected to the Internet for this to work)

4. Adjusting the Map Overlay settings. Select Options > Map Overlay Options

Tip: You can choose in what colour you would like the map to appear and ground station to appear, or choose to hide them)

5. Adjust the Recording Options: Select Options > Recording Options

  • In the dialogue box that appears, select your chosen virtual audio cable. Select Soundcard > [Your Virtual Audio Cable]
  • Choose 11025 as the sample rate.
  • Input elevation settings for receiving satellite signals; Tip: good settings to begin: maximum elevation above 9 degrees; record only when satellite is above 8 degrees.
  • Select what kind of antenna you are using from the Antenna Type list. See image below for recording settings employed by @sashae:

image description

WXtoImg: Recording Options Dialogue Box

6. Checking the Satellite Pass List: Select File > Satellite Pass List. This will generate a window with upcoming times at which NOAA satellites will pass over your ground station location)

Step 5: Test that WXtoImg can 'hear' your SDR software

1. Tune to an FM radio station (around 100 Mhz) using your preferred SDR software

Tip: Since you are piping the audio coming from the SDR software to WXtoImg with a virtual audio cable you should not be able to hear the station through your computer speakers. If you can hear the station, adjust your Audio Output.

2. In WXtoImg, Select Record > Manual Test.

3. Do lines filled with tiny dots or speckles start loading in the WXtoImg window? If so, WXtoImg can hear your radio software and the audio connection is working.image description

WXtoImg attempting to decode FM radio static

4. In the bottom right, is the volume level green? If it is 'in the green' this means the signal is in a good range for decoding. If it is not green (e.g. if it is red or yellow) adjust the volume on your SDR software until the WXtoImg volume becomes green.

Step 6: Decoding an image from a satellite pass

Important to know:

When is the next 'good' satellite pass over your location?

A 'good' pass is a pass that is more than 10 minutes long. In the Satellite Pass list, Duration is measured in minutes. In the Satellite Pass list generated by WXtoImg, find the next 11+ minute pass.

image description

Satellite pass list in WXtoImg

Tip: the list shows Local Time and UTC Time. Take note of the difference.

What direction is the satellite traveling?
In the Satellite Pass List, note whether the satellite is Northbound or Southbound. Also note whether the satellite will be to the east or west of you, and at what maximum elevation. For example: a NOAA 15 Southbound pass at 49W MEL (Maximum Elevation) means the satellite is traveling south and at its max elevation (mid way through the pass) it will be 49 degrees out of 90 (where 90 is directly overhead) to the west. This means that mid way through the pass, you should be aiming your antenna diagonally upward to the west at a 49 degree angle.

What frequency will the satellite be transmitting on?
Make sure to note down the frequency of your chosen satellite pass (see the rightmost column in the Satellite Pass List where Frequency is listed in Mhz).

Where can you best receive this transmission in your local area?
The transmission is best received from a wide open area with a good horizon. This could be a park, a parking lot, a rooftop, a hill, a beach or a balcony (as long as the balcony has a clear view of the path of the satellite)

Pre-satellite pass checklist

  • Are you tuned to the frequency of the satellite?
  • Are you using a 36,000–45,000 KHz bandwidth and demodulating with FM (CubicSDR) or Wide FM (SDR#)
  • Is your SDR software sending audio to WXtoImg (see above steps for testing that they can hear each other)?
  • Are you pointing your antenna in the right direction?

Receiving your first satellite transmission

1. A few minutes before the pass is due to start. On WXtoImg Select File > Record > Auto Record; When the satellite passes over the elevation you designated in the Recording Options dialogue box, you should start receiving a signal.

2. The satellite signal looks like a faint series of dots and dashes that will begin to appear on the waterfall display of your SDR software;

image description

Traces in the SDR# waterfall display

3. When you see the satellite signal, adjust the frequency (if needed) so that the SDR / radio software is centred on the signal. This might mean increasing the frequency 1 or 2 MHz

4. Adjust for the Doppler shift. The frequency of the transmission 'drifts' from a little higher than the satellite's designated frequency to a little lower than the designated frequency. During the pass adjust for this Doppler shift by using the arrows or dragging in the waterfall display to keep the radio software centred on the satellite signal.

5. Remember to track the satellite as it orbits overhead. You can let the visible strength of the signal guide you.

Tip: you will see a marked difference in signal strength on the waterfall display if you are pointing the antenna in the right direction vs. the wrong direction.

6. Periodically check WXtoImg to make sure the volume is green and the pass is being decoded.

image description

WXtoImg window: live-decoding a satellite image from NOAA 19

7. When the pass is over, WXtoImg will begin to automatically process the raw data. You will see the software 'working' as it combines information from different sensors to produce a series of b/w and colour images. When it is done processing 'Done' will appear in the bottom left of the window.

8. Stop WXtoImg from waiting for the next satellite by selecting File > Stop.

9. The image you have just received will be stored in the Raw Images tab. You can double click on the raw image of the pass and then use the Enhancements menu to look through the different combinations of sensor data.

10. The raw image and audio file unique to this pass will also be saved in WXtoImg's 'Raw' and 'Audio' folders on your computer.

Congratulations on your first attempt!

image description

WXtoImg enhancements


My satellite decoding software loads a black image during the test
This means there is something wrong in the connection between your SDR / radio software and WXtoImg. You need to double check all of the connections and virtual audio cables. Double check the Audio Output on your SDR software and the Soundcard (Audio Input) in WXtoImg.

The volume is in the red, close to 0 during the test
This means that the signal coming into WXtoImg is far too quiet for WXtoImg to be able to process it. Turn up the volume on your SDR software. If this doesn't work there may be an issue with the audio inputs and outputs connecting the SDR software to WXtoImg.

On MacOS, check that the Master volume for Soundflower is not turned down.
1. Application > Utilities > Audio MIDI Setup 2. In Audio MIDI Setup, select Soundflower (ch2) 3. Drag the level of the Master volume to the maximum value, usually 1

If you have other issues, questions or concerns do ask a question on the #open-weather project page or get in touch with @sophied and @sashae.

image description

Catching a satellite, London, 2020

I did this Help out by offering feedback!

People who did this (0)

None yet. Be the first to post one!


@ektopyrotic awards a barnstar to sashae for their awesome contribution!

Reply to this comment...

@sashae has marked @sophied as a co-author.

Reply to this comment...

Login to comment.