Weather satellite imagery

How to receive NOAA weather satellites

Tools
SDR++, satdump, RTL-SDR Blog v4, QFH or V-dipole antenna
Skill / setup
intermediate · 2–3 hours (plus ~1 hour for V-dipole antenna build) · ~$55–$75 (RTL-SDR Blog v4 ~$40 + V-dipole antenna materials ~$15; assumes you have a PC)
See how it compares to Squelch Deck

Three NOAA weather satellites — NOAA 15, 18, and 19 — pass overhead several times a day broadcasting analog imagery of whatever the sun is illuminating beneath them at 137 MHz. With a $40 RTL-SDR, a homemade V-dipole antenna, and free software (SDR++ to record, satdump to process), you can pull down a usable false-color image of your half of the continent every few hours. This guide walks through pass prediction, recording, and processing the resulting WAV into a finished image — plus a brief detour for the Russian METEOR-M satellites (LRPT, digital) which are more capable and need a slightly different processing path.

What you'll have at the end

A folder of false-color NOAA APT images and (if you set up the METEOR path) high-resolution LRPT scans of weather systems passing your location, captured over hours rather than days. The pipeline:

  1. Predict a pass with satdump or Gpredict.
  2. Tune SDR++ to the satellite's downlink frequency a minute before AOS (acquisition of signal).
  3. Record a 15–20 minute WFM-demodulated WAV during the pass.
  4. Feed the WAV to satdump for decoding and image composition.

A good pass with a tuned antenna produces an image that's clearly recognizable as your continent — clouds visible, coastlines crisp, land/sea boundaries clean. A bad pass produces a noisy strip that's interesting mostly as a learning exercise. The single biggest variable, again, is the antenna.

What you need

Hardware. An RTL-SDR Blog v4 (~$40) — works perfectly for both NOAA APT and METEOR LRPT. A satellite-tuned antenna for 137 MHz: best is a quadrifilar helix (QFH) with right-hand circular polarization, second-best is a turnstile (crossed dipoles), third-best is a V-dipole (cheap and surprisingly effective). A short coax run — at 137 MHz, even RG-58 is fine for ≤10 ft; LMR-240 or LMR-400 for longer runs. Optional but useful: an SDR-band LNA at the antenna feed for marginal antennas; not needed for a clean QFH on a roof.

The V-dipole is the easiest first build: two ~53 cm whips spread to 120° between them, fed at the apex, oriented so the V points north-south at your latitude. It's a ~$10 build and gets surprisingly close to a turnstile.

Software. Cross-platform: Windows / macOS / Linux all work. SDR++ for tuning + recording. satdump for processing (the modern unified tool — replaces WXtoImg, noaa-apt, MeteorDemod, etc. with one binary that handles every common weather sat). Gpredict for pass prediction if you don't want to use satdump's built-in tracker.

Time. See the frontmatter at the top of this page. Skill level. Familiar with SDR++'s recording controls and willing to wait for passes (you don't choose the time — the satellites do). A spare evening to do a couple of passes and dial in the gain is realistic.

Step-by-step setup

1. Get the antenna right (most of the difficulty is here)

NOAA satellites are right-hand circularly polarized; their downlink at 137 MHz is also relatively weak after traveling ~800 km of atmospheric path. Antennas, ranked:

  1. QFH (quadrifilar helix) — purpose-built for satellites; circular polarization match; 30°–80° elevation coverage. Commercial QFHs sell for $60–$120; you can build one for ~$15 in copper pipe with a Sunday afternoon.
  2. Turnstile (crossed dipoles + delay line) — circular polarization, lower zenith null than a single dipole. Buildable in an evening from any radio-supply scrap bin.
  3. V-dipole — two whips at ~120°, fed at apex. Linear polarization (3 dB loss vs circular) but no zenith null and trivially cheap to build. This is the right antenna for a first install.
  4. Vertical (single whip) — has a deep null at the zenith (where the satellite is highest, i.e., your strongest signal moments). Avoid.

Whatever you build, mount it outside with a clear view to the horizon in the direction the bird is going to fly. A V-dipole on a 6-foot mast on a balcony beats a QFH indoors. Both beat a window-sill anything.

2. Install satdump and SDR++

Both are cross-platform. Recent installable builds:

Plug in the RTL-SDR. On Linux, blacklist the kernel DVB driver if it's grabbing the device:

echo 'blacklist dvb_usb_rtl28xxu' | sudo tee /etc/modprobe.d/blacklist-rtl.conf
sudo modprobe -r dvb_usb_rtl28xxu

Launch SDR++ and confirm the RTL-SDR shows in the Source module's dropdown.

3. Predict the next pass

satdump ships with a pass-tracker tab that uses up-to-date TLEs (orbital elements) to predict passes from your location. From satdump's UI: Tracking → Set ground station (enter your latitude / longitude / altitude) → Tracking → Satellites → enable NOAA 15, NOAA 18, NOAA 19. The pass list populates with the next several passes for each.

If you prefer a dedicated tool, Gpredict does the same job with a richer UI. Either way, you're looking for:

  • Max elevation > 30° — passes lower than that hit too much terrain or building loss to be worth recording on a starter antenna. 50°+ is great. Below 20° is usually a bust.
  • AOS azimuth — where on the horizon the satellite first appears. Point your antenna (if it's directional, which a V-dipole isn't, but a Yagi or QFH on a rotator would be) toward that azimuth.
  • Pass duration — typically 12–15 minutes from AOS to LOS. NOAA APT broadcasts for the entire pass.

Note that NOAA 15 (launched 1998), NOAA 18 (2005), and NOAA 19 (2009) are all aging. NOAA 15 has known battery issues and only transmits some of the time. NOAA 18 and 19 are currently reliable but the program is winding down — NOAA 21 (JPSS-2) does not carry APT. The clock is ticking on this hobby; do it while you can.

4. Configure SDR++ for the recording

Pick the satellite that's about to pass and set SDR++:

  • Frequency: NOAA 15 = 137.620 MHz, NOAA 18 = 137.9125 MHz, NOAA 19 = 137.100 MHz. (Yes, NOAA 19's is lower than NOAA 15's — these were allocated, not numbered.)
  • Demodulator: WFM (wide FM). The bandwidth slider should be ~40 kHz; APT signals are ~34 kHz wide.
  • Sample rate: 2400000 (2.4 MS/s) for an RTL-SDR Blog v4.
  • Gain: 35–42 dB. Auto-gain works but tends to overshoot on bright passes — manual is more consistent. Test a low-elevation pass first to dial it in.
  • Audio sink: enable the Recorder module (it's in the modules list — click + → Recorder). Set the output to a known folder, format WAV, sample rate matching what satdump expects (48 kHz mono is the standard target for NOAA APT processing).

A common trip-up: the VFO bandwidth in SDR++ has to be wide enough (~40 kHz) and the audio output has to be the demodulated stream, not the I/Q stream. If you accidentally record I/Q, satdump will refuse it.

5. Record the pass

Two minutes before AOS, hit record in SDR++. Watch the waterfall — within a minute of the predicted AOS time, you'll see the satellite's carrier rise above the noise floor, sweep up in frequency (Doppler shift on approach), peak at TCA (time of closest approach), then sweep back down. The total pass is 12–15 minutes; the strongest signal is in the middle ±3 minutes.

If you have SDR++'s "frequency manager" with Doppler tracking enabled, it'll automatically nudge the VFO to keep up with the Doppler shift. If not, manually re-center the VFO once or twice during the pass — the signal drifts ~3 kHz across a typical 137 MHz pass.

Stop recording after LOS. You should have a 15–20 minute WAV file in your chosen folder.

6. Decode the WAV in satdump

Open satdump. From the main menu: Offline processing → NOAA APT (audio). Select your WAV file. satdump asks for the satellite (NOAA 15 / 18 / 19) — pick the one you recorded — and the output folder.

Click Start. Within a minute, satdump produces several outputs:

  • The raw two-channel APT image (visible + IR, side by side).
  • A false-color composite (NOAA APT only carries 2 channels; satdump uses calibration data to produce a plausible false-color render).
  • Maps / coastline overlays if you provided a ground station.
  • A thermal/IR-only render of the IR channel.

Open the false-color composite — that's the "money shot." If your antenna and gain were good, you'll see clouds clearly, coastlines crisp, land/sea boundary visible.

7. (Optional) METEOR M2-3 / M2-4 for digital LRPT

Russian METEOR satellites broadcast LRPT (Low Resolution Picture Transmission) — digital, higher resolution than NOAA APT, and noticeably better imagery. Frequencies are also ~137 MHz, but the modulation is OQPSK 72k or 80k symbols/sec, which is not WFM — you can't record METEOR with the same SDR++ recipe.

The cleanest path: record the I/Q baseband directly. In SDR++, switch the Recorder module to Baseband mode, sample rate 192k or 256k, format WAV or raw float32. Two minutes before METEOR's AOS, hit record. Then in satdump, Offline processing → METEOR M2-3 LRPT (baseband) and feed it the I/Q recording.

Pass prediction is the same — METEOR M2-3 and M2-4 show up in satdump's tracker alongside the NOAAs.

8. (Optional) Live recording — let satdump drive the SDR

For a hands-off setup, you can have satdump drive the SDR directly during predicted passes, with no SDR++ in the loop. From the satdump tracker: enable Automatic recording for the satellites you care about, point it at your RTL-SDR (or a remote spyserver — see the Airspy Server guide), and leave it running. satdump auto-arms before each pass, records, processes, and drops images into a folder. Great for unattended overnight passes on the polar orbits.

Common gotchas

Recording is silent / waterfall is empty. SDR++'s Recorder is recording from the wrong source. The audio recorder records demodulated audio, which requires a VFO + demodulator. Check the signal path: Source → VFO → Demodulator (WFM) → Audio sink → Recorder. If the demodulator output is muted or routed elsewhere, the recording is empty.

Image is recognizably an image but is full of diagonal lines. Sync drift. The APT decoder expects a precise 4160 samples per second; if your recording's actual sample rate is 47990 Hz instead of 48000 Hz (RTL-SDR sample clock isn't perfect), the lines slant. Two fixes: (1) set your RTL-SDR's PPM correction in SDR++ to match its known drift (e.g., -3 to +5 PPM is typical for the Blog v4), or (2) let satdump's APT phase correction handle it (enabled by default in recent versions).

Image starts clean then degrades to noise after TCA. Antenna pattern is wrong on the descending side. A V-dipole has a near-omnidirectional pattern but a slight bias toward the north-south axis where the satellite tracks. If the satellite descends on the side opposite to where it ascended (typical for high-elevation passes), the antenna polarization mismatch grows on the back side. Try re-orienting the V or move up to a turnstile / QFH.

METEOR LRPT decode says "no frames found" in satdump. Most common: recording is WFM audio, not I/Q baseband. METEOR LRPT is digital — it doesn't survive FM demodulation. Re-record with the Recorder in Baseband mode, sample rate ≥150 kS/s.

NOAA 15 sometimes works, sometimes doesn't. NOAA 15 has known on-board issues (failing battery, intermittent transmitter behavior). Sometimes it transmits, sometimes it stays quiet for days. NOAA 18 and 19 are the reliable workhorses. If you keep missing NOAA 15 passes, just don't bother with it for now.

No coastline overlay on the output image. satdump needs a ground-station position to align coastline maps to the image projection. Set your lat/long/alt in Settings → Ground station and re-decode.

What to do next

For a longer-term project, the same antenna and SDR (with a different decode path) can pull down GOES-16/17/18 geostationary imagery — much higher resolution, full-Earth disk views, but requires a ~1 m parabolic dish at 1.7 GHz and a low-noise amplifier. satdump handles GOES decoding too. Pair the NOAA work with APT antenna build guides on rtl-sdr.com — the QFH and turnstile builds are the next-step upgrade once a V-dipole has gotten you hooked. For finding more weather and remote-sensing satellites to track, n2yo.com and the Celestrak weather sats list are the canonical references — satdump can ingest any TLE from these into its tracker. For pass prediction outside satdump, gpredict is the desktop classic and still works great alongside any SDR pipeline.

Local DIY vs. Squelch Deck

DimensionLocal DIYSquelch Deck
Setup time2–3 hours (+ ~1 hour V-dipole antenna build)~1 minute (tap the app)
Hardware cost~$55–$75One device
Ongoing maintenanceOS updates, dependency drift, debugging when it breaksApp updates roll through the Squelch Deck catalog
Customization ceilingTotal — you own the stackBounded by what apps support; you can build new apps
Skill requiredSDR tuning, antenna placement, willingness to plan around pass schedulesTouchscreen
Best forPeople who want to capture and process imagery themselves, including digital LRPTPeople who want it to work on a dedicated box
Join the list

Sources we drew from