Skip to content
← Home

RFPI · RF systems · Remote sensing · 2026

RFPI weather-satellite ground station

I built a Raspberry Pi and RTL-SDR station that schedules METEOR passes, records the configured 137.9 MHz LRPT downlink, and decodes MSU-MR imagery. SQLite catalogs the pass metadata and products. The images below came through my V-dipole in Denver.

METEOR-M2 4 weather image received and decoded by the RFPI station
METEOR-M2 4 · 14 September 2026, 21:03 UTC · 65° peak elevation · SatDump MSA composite.
Decoded passes
2
Decoded products
24
Configured LRPT
137.9 MHz

Prediction to archive

  1. 01Plan

    Skyfield computes rise, peak, and set times from cached orbital elements.

  2. 02Acquire

    One scheduler process owns the RTL-SDR and starts SatDump for each pass.

  3. 03Decode

    SatDump turns the CADU stream into MSU-MR channels, composites, and projections.

  4. 04Catalog

    SQLite stores UTC time, satellite, predicted peak, bytes, image count, and archive path.

  5. 05Archive

    An hourly read-only rsync pull mirrors the catalog, logs, recordings, and imagery to the desktop.


Decoded products

METEOR-M2 3 at 54° and METEOR-M2 4 at 65° each produced 12 products. Compare the MSA, false-color, and projected outputs.

METEOR-M2 4 MSA composite received on 14 Sep 2026 · 21:03 UTC
METEOR-M2 4 / MSA composite14 Sep 2026 · 21:03 UTC · 65° peak elevation

SatDump’s processed MSA composite from decoded MSU-MR channels.

Open full image ↗

Reliability engineering

Restart-safe scheduling

The scheduler persists the last valid TLE catalog and resolves fallbacks by NORAD ID. A service restart can rebuild pass predictions without waiting for the primary orbit-data provider.

Network-independent capture

SatDump reads orbital data from a local endpoint backed by the station cache. A time-bound recording no longer depends on a remote request completing during the pass.

Off-device publication

Hourly rsync copies the catalog, logs, recordings, and imagery to the desktop. The public site reads that export and has no control path back to the receiver.


System stack

Edge
Raspberry Pi 3B · Raspberry Pi OS · systemd
RF
RTL-SDR Blog V4 · V-dipole · configured 137.9 MHz LRPT
Software
Python · Skyfield · SatDump · SQLite
Archive
Hourly rsync pull · manual desktop processing

Desktop derivative

Two observations,
4 hours 2 minutes apart

I aligned the decoded products to a fixed map extent and exported this one-second desktop timelapse.

Two aligned frames.