This project collects and decodes ADS-B (Mode S) messages from aircraft using an ADS-B SDR USB dongle. It demodulates raw IQ samples, detects Mode S preambles, decodes messages, and parses aircraft information.
- Collects IQ samples from ADS-B SDR at 1090 MHz (ADS-B frequency)
- Detects and decodes Mode S (ADS-B) messages in real time
- Uses pyModeS for message parsing and CRC checking
- Prints aircraft ICAO, callsign, and message type
-
Python 3.x
-
ADS-B SDR USB dongle and antenna (I used AirNav Radar ADS-B with 1090MHz antenna)
Install dependencies if running outside venv:
pip install -r requirements.txt- Plug in the ADS-B SDR dongle to your device and connect the antenna to the SDR.
- Run the main script:
bash start.sh
- The script will print detected ADS-B messages, including aircraft ICAO addresses and callsigns. Example return (https://www.flightdb.net/aircraft.php?modes=461FA2):
DF17 | ICAO 461FA2 | 8D461FA2990C479ED86802B6BE37- Default sample rate: 2.4 Msps
- Default frequency: 1090 MHz
- Default gain: 40.2 dB
- Stop the script with
Ctrl+C.