Get Started

Build your own satellite ground station and join a worldwide network

Hundreds of small satellites are beaming telemetry down right now, and the International Space Station runs a packet radio relay anyone can hear. Predict every pass over your house, decode real satellite packets from a recording in step 2, then build a station with a £50 radio and a home-made antenna that joins SatNOGS, the open network of ground stations that downloads data for satellite teams around the world.

300 minAdvancedTools: Around £120 to £180 (RTL-SDR, Raspberry Pi, coax), software freeStep 1 free
A pass predictor for your exact locationevery ISS, cubesat and weather satellite pass, with direction and Doppler
Real satellite packets decoded on your own machine with Dire Wolf, from day one
A receive stationRTL-SDR, a V-dipole cut for 145 and 436 MHz, and live APRS decoding from the ISS and other satellites
  • A SatNOGS ground station on a Raspberry Pi, scheduled by the network and feeding the open satellite database
  • A kit: pass predictor, satellite list, recording fetcher, Dire Wolf config, antenna guide and SatNOGS checklist
Before you start
  • An RTL-SDR Blog V4 with its dipole kit (around £50 to £82; The Pi Hut lists it at £81.60)
  • A Raspberry Pi 4 or 5 (2GB is enough) with PSU and a 32GB microSD for the network station
  • A garden, balcony or flat roof with a view of the sky for the antenna
  • Python 3 on your computer, and comfortable with SSH: Terminal survival kit
  • For contributing to SatNOGS only: a free SatNOGS account. Everything else needs no account at all
01/06What's overhead tonight: predict every pass0 done
STEP 01 of 06~20 min

What's overhead tonight: predict every pass

Know exactly when each satellite rises, how high it climbs, and which way to look.

  1. How it worksSatellites in low Earth orbit circle the planet every 90 to 100 minutes at 400 to 800km up. From your garden each one is visible for 10 to 15 minutes per pass, rising on one horizon and setting on the other. While it's up, its transmitter is a few watts, which a cheap software-defined radio and a simple antenna hear clearly.

  2. The amateur satellitesRadio amateurs, universities and space agencies fly satellites that transmit on the 2m (145 MHz) and 70cm (436 MHz) bands in open formats: FM voice repeaters, APRS packets and telemetry beacons with temperatures, voltages and status. Listening is open to everyone. The ISS carries an APRS digipeater on 145.825 MHz and an FM repeater on 437.800 MHz.

  3. The kitDownload the kit or open kit.md. passes.py downloads fresh orbital elements from CelesTrak ↗ (free, no account) and predicts passes for the satellites in satellites.csv. Put in your own coordinates:

    Any computer with uv
    uv run --with skyfield==1.55 python passes.py --lat 51.5072 --lon -0.1276 --hours 12 --min-el 30
    Output
    start (UTC)  satellite               MHz max el  rise > set mins   doppler  mode
    Mon 02:40    METEOR-M2-4         137.900    41d   NNE > S      15    +2.9kHz  LRPT
    Mon 03:59    NO-44 (PCSAT)       145.825    62d    NW > SE     16    +3.1kHz  AFSK 1200 APRS
    Mon 04:20    METEOR-M2-4         137.900    37d     N > SW     15    +3.0kHz  LRPT
    Mon 07:16    AO-91               145.960    39d    SE > N      12    +3.3kHz  FM voice + DUV telemetry
    Mon 08:20    ISS                 145.825    62d   WSW > ENE    11    +3.3kHz  AFSK 1200 APRS
    ...
    Mon 09:57    ISS                 145.825    86d     W > E      11    +3.3kHz  AFSK 1200 APRS
    Mon 10:03    SO-50               436.795    50d   WSW > NE     14    +9.4kHz  FM voice repeater
    
    13 passes above 30 degrees in the next 12 hours
  4. Read the tablemax el is how high the pass climbs: above 30 degrees is easy, above 60 is excellent. rise > set is where to point a handheld antenna. doppler is how far off frequency the signal arrives at rise: the satellite is moving at 7.5km/s, so it sounds higher as it approaches and lower as it leaves. At 145 MHz that's about 3kHz, inside an FM channel. At 436 MHz it's about 9kHz and you'll need to retune during the pass.

✓
Checkpointpasses.py lists upcoming passes over your location, including at least one ISS pass above 30 degrees in the next day or two.
If it breaksIt prints 0 passes + 1 more
It prints 0 passes
Lower --min-el to 10 and raise --hours to 48. Check longitudes west of Greenwich are negative: Manchester is --lon -2.24.
A satellite in satellites.csv never appears
It isn't in CelesTrak's amateur, weather or stations groups. Look up its NORAD number on db.satnogs.org ↗ and check the ID in the CSV.
Still stuck? Ask the community
Next mission · Advanced buildsA smart mirror that reads you a morning briefing, written by its own AI
→