An ADS-B receiver for the terminal, built around mapscii-py and SoapySDR
The decoder is known to work with Airspy Mini and RTL-SDR dongles, probably not hard to add more, but I have these two around. I'm on a Mac so cannot tell if there is anything wrong with the display on Windows.
I recommend using conda to create a clean and throwaway environment.
conda create -n adsb -c conda-forge python=3.13
conda activate adsb
python3 -m pip install -r requirements.txtfor Airspy Mini:
conda install -c conda-forge airspy soapysdr-module-airspyfor RTL-SDR
conda install -c conda-forge rtl-sdr soapysdr-module-rtlsdrUse an antenna appropriate for 1090Mhz. For the RTL-SDR antenna kit: use the shorter antenna fully retracted. It should be about 6cm long on each side.
Connect the SDR to the computer and run
python3 adsb_tui.pyAt startup, the program tries the supported SoapySDR drivers in order and uses the first one that reports a connected device.
The application fills the terminal. Use --list-size to choose how many
aircraft panels are shown below the visible map (the default is 2). When the
map is hidden, the aircraft list automatically fills the available space.
m: show or hide the mapl: show or hide the aircraft listg: open or close the SDR gain dialogj/kor arrow keys: scroll the aircraft listq: quit
Set the receiver position with --qth LAT LON:
python3 adsb_tui.py --qth 47.4979 19.0402The QTH is marked on the map and included in the map center calculation.
