Ground Station: Open-Source Satellite Tracking and Signal Decoding Suite

By Prahlad Menon 7 min read

There’s something deeply satisfying about pointing an antenna at the sky and pulling data directly from a spacecraft. Amateur radio operators and satellite enthusiasts have been doing this for decades, but the tooling has always been fragmented — one app for tracking, another for SDR control, yet another for decoding. Ground Station consolidates the entire workflow into a single, modern web application that tracks satellites in real time, streams IQ data from your SDR, decodes signals locally, and even transcribes ISS audio passes using AI.

What It Does

Ground Station is an all-in-one satellite monitoring suite with a surprisingly polished feature set:

Real-time satellite tracking using high-precision orbital models with TLE data automatically synced from CelesTrak and SatNOGS. You can track hundreds of satellites simultaneously, with a multi-target tracking console that lets you run several target-hardware chains in parallel.

SDR integration supports a wide range of hardware — RTL-SDR, SoapySDR, and UHD/USRP radios. The system streams live IQ data, displays waterfall visualizations in the browser, and can record raw IQ in SigMF format with complete metadata (center frequency, sample rate, satellite info). Recorded sessions can be played back through a virtual SDR device for later analysis.

Signal decoding handles multiple protocols out of the box: SSTV, FSK, GFSK, GMSK, and BPSK with AX.25 and Geoscan framing. There’s also SatDump integration for decoding weather satellite images from METEOR-M2 (both LRPT and HRPT). The decoded output — whether it’s telemetry packets, weather images, or audio — is viewable directly in the web interface.

Antenna rotator control interfaces with popular rotators to automatically track satellites during passes, while Hamlib integration provides rig control with real-time Doppler correction.

AI-Powered Transcription

This is where it gets interesting for the AI crowd. Ground Station includes real-time speech-to-text transcription for demodulated satellite audio, powered by Gemini Live or Deepgram. During an ISS pass, for example, the system can capture astronaut communications and produce live transcriptions overlaid on the waterfall display.

The implementation is privacy-conscious — transcription services are user-keyed, and output files are saved locally. It’s a compelling use case for AI: processing noisy, real-time RF signals that would be difficult to transcribe manually, especially during brief satellite pass windows.

Automated Observations

Perhaps the most powerful feature is the scheduled observation system. You define monitoring templates with hardware configurations and signal parameters, and Ground Station automatically:

  1. Calculates upcoming satellite passes based on minimum elevation and lookahead windows
  2. Triggers observation at AOS (Acquisition of Signal)
  3. Controls SDR, rotator, and rig automatically during the pass
  4. Records IQ data, audio, runs decoders, and optionally transcribes — all concurrently
  5. Stops at LOS (Loss of Signal)

Each observation can run multiple tasks in parallel: IQ recording, audio capture, protocol decoding, and AI transcription. You can even observe automated passes in real-time through the web interface without interfering with the recording. Multi-SDR setups allow automated observations on one radio while you manually explore on another.

The Interface

The web UI is built with Material-UI and is genuinely responsive — it works on desktop, tablet, and mobile. This matters because satellite passes are time-sensitive events. Being able to pull up your ground station on a phone while away from your desk and see what’s being captured is a real quality-of-life feature.

Key views include:

  • Global overview with quick group selection and real-time satellite status
  • Multi-target tracking console with per-target control and live telemetry
  • Waterfall display with live transcription and packet decoding overlays
  • Packet viewer with hex/ASCII side-by-side telemetry display
  • DSP topology showing the signal processing pipeline performance
  • File browser for decoded weather images, packet outputs, and saved transcriptions

Performance Monitoring

A nice engineering touch: Ground Station includes real-time visualization of its signal processing pipeline, showing data flow from SDR → FFT → Demodulator → Decoder → Browser. You can monitor queue health, throughput rates, and component statistics to diagnose bottlenecks — essential when you’re trying to capture every bit of a brief satellite pass.

Getting Started

The project supports Docker deployment and runs a backend (Python) with a frontend (React/Material-UI). You’ll need an SDR device (an RTL-SDR dongle starts around $25) and optionally an antenna rotator for automated tracking.

The repository includes comprehensive documentation and was built with the help of Claude Code and Codex — a nice example of AI-assisted development producing something genuinely useful.

Why This Matters

Ground Station democratizes satellite monitoring. What used to require expensive commercial software and deep RF engineering knowledge is now available as a single open-source package with a modern UI. The AI transcription capability adds a layer that didn’t exist before — automatically capturing and processing fleeting satellite communications that happen on unpredictable schedules.

For anyone with an SDR dongle and a curiosity about what’s flying overhead, this is worth a look.

OSINT and Intelligence Applications

Ground Station has genuine utility beyond the hobbyist use case — particularly for geospatial intelligence and defense-oriented analysis:

ISS audio intelligence. ISS crew occasionally transmit on amateur frequencies, sometimes during geopolitical events. AI transcription of those passes can surface real-time communications that no API provides.

Military and reconnaissance satellite tracking. While classified satellites don’t publish TLEs, many reconnaissance-adjacent satellites (NOAA weather birds, some Lacrosse and KH-series where public TLEs exist) can be tracked and correlated with conflict zones or areas of interest.

GPS jamming correlation. The tool decodes raw IQ from any SDR. If you’re already tracking GPS jamming events via ADS-B NACp data, you can cross-reference those events with satellite passes overhead at the same time — adding a signal-level data layer that API-based intel dashboards can’t replicate.

What makes this novel is the raw signal decoding capability. Most intelligence platforms aggregate data via APIs — satellite positions, flight tracks, weather. Ground Station gives you the actual RF data: decoded telemetry, demodulated audio, raw IQ recordings. That’s a fundamentally different data source.

The hardware investment is minimal: an RTL-SDR dongle ($25–35), an outdoor antenna ($30–50 for a discone or dipole), and a laptop or Raspberry Pi running the Docker container.

Frequently Asked Questions

What hardware do I need to get started? At minimum, an RTL-SDR USB dongle ($25–35) and a computer. For better reception, add an outdoor discone or dipole antenna ($30–50). A Raspberry Pi 4 or any laptop can run the Docker container. Antenna rotators are optional but enable automated tracking.

Can I decode weather satellite images? Yes. Ground Station integrates with SatDump to decode METEOR-M2 weather satellite images in both LRPT and HRPT formats. Decoded images are viewable directly in the web interface.

Which SDR devices are supported? RTL-SDR, any SoapySDR-compatible device, and UHD/USRP radios. The system also supports remote SDR devices over a network.

How does the AI transcription work? Demodulated audio is streamed to Gemini Live or Deepgram for real-time speech-to-text. You provide your own API key, and transcriptions are saved locally. It’s particularly useful for ISS voice passes where the window is brief and audio quality varies.

Can it run unattended? Yes — the automated observation system calculates upcoming passes, triggers recording at signal acquisition, controls all hardware during the pass, and stops at signal loss. No manual intervention needed.

Does it work on mobile? The web UI is fully responsive and works well on tablets and phones. You can monitor live passes, view waterfalls, and check decoded data from anywhere on your network.

GitHub: github.com/sgoudelis/ground-station License: GPL-3.0