gr-satellites
Out-of-tree GNU Radio module available in GNU Radio World

gr-satellites is a broad collection of telemetry receivers for amateur satellites and other spacecraft that use publicly documented downlinks. Its reusable demodulators, synchronizers, forward-error-correction stages, descramblers, and deframers cover protocols including AX.25, GOMspace modems, CCSDS links, AO-40, and numerous mission-specific formats. Complete satellite definitions combine those components to turn IQ or audio into frames, human-readable telemetry, and reassembled files such as transmitted images, while the lower-level pieces can also serve new ground-station designs.
- Main author
- Daniel Estévez
- Last modified
- < 3 months
- Project
- Upstream repository
Example flowgraphs
These GNU Radio World examples contain one or more blocks from gr-satellites.
- DJI DroneID frame detector — Mavic 3 Classic recordingsDetects a DroneID frame in either of two 40 MS/s DJI Mavic 3 Classic SigMF recordings by correlating the root-600 Zadoff-Chu preamble. The cut19.51 File Source is enabled and cut21.99 is disabled; swap their enable states to test the other recording. Each source reads only the first 400,000 samples (10 ms), which contains its frame and keeps the R2 transfer small. These short cuts do not preserve the roughly 640 ms transmission cadence of a continuous capture.
- DJI DroneID frame detector — Mini 2 recordingDetects DroneID frames in the public 50 MS/s DJI Mini 2 IQ artifact by correlating its root-600 Zadoff-Chu preamble. Message Debug counts the ten curated bursts in this file. In a continuous recording, successive "Found burst" sample offsets should be about 9,830,400 samples apart at 15.36 MS/s (roughly 640 ms); this shortened artifact does not preserve that cadence.
- gr-satellites AFSK demodulator (GOMX-1)AFSK demodulator component fed by the GOMX-1 recording
- AX.25 AFSK loopback using gr-satellitesAX.25 over AFSK, transmitted and received in one flowgraph
- AX.25 BPSK loopback using gr-satellitesAX.25 over BPSK, transmitted and received in one flowgraph
- gr-satellites AX.25 deframer (US01)AX.25 deframer component fed by the US01 recording
- gr-satellites AX100 deframer (1KUNS-PF, TW-1B)GOMspace AX100 deframer in both its modes: ASM+Golay on the 1KUNS-PF recording, Reed-Solomon on the TW-1B recording
- gr-satellites BPSK demodulator (LilacSat-1)BPSK demodulator component fed by the LilacSat-1 recording
- gr-satellites CCSDS deframer (BY70-1, TRISAT)CCSDS concatenated deframer on two recordings: BY70-1 as upstream has it, and TRISAT, which decodes here
- gr-satellites FSK demodulator (AAUSAT-4)FSK demodulator component fed by the AAUSAT-4 recording
- gr-satellites LilacSat-1 image downlinkLilacSat-1 image downlink: BPSK demodulator and LilacSat-1 deframer, printing the frames the image is carried in
- gr-satellites frame transport (TRISAT)Deframed satellite frames timestamped for transport, in place of the Python KISS TCP transport
- gr-satellites AAUSAT-4 decoder (assembled)What the all-in-one Satellite Decoder expands to for AAUSAT-4, assembled from primitives because the deframer is Python-only
- gr-satellites telemetry chain (GOMX-1)GOMX-1 telemetry: U482C frames, dissected by Print CSP Header in place of the Python telemetry parser
- gr-satellites U482C deframer (GOMX-1)GOMspace U482C deframer fed by the GOMX-1 recording