Software Defined Radio
dump1090
dump1090 decodes ADS-B, the 1090 MHz signal aircraft broadcast with their
identity, position, altitude, and speed. Run it with an RTL dongle and a suitable
antenna and you’ll see the planes overhead appear in real time — as a live text
feed, and, in its interactive and web modes, on a map. It’s the classic “wow” SDR
project, and a clean example of a real-world unauthenticated broadcast protocol
you can receive with hardware that costs less than lunch.
Installed from the AUR (as dump1090-git); Security → Software Defined Radio →
dump1090. It also ships view1090, a viewer that connects to a running
dump1090’s network feed.
The help it prints
-----------------------------------------------------------------------------
| dump1090 ModeS Receiver Ver : 1.10.3010.14 |
-----------------------------------------------------------------------------
--device-index <index> Select RTL device (default: 0)
--gain <db> Set gain (default: max gain. Use -10 for auto-gain)
--enable-agc Enable the Automatic Gain Control (default: off)
--freq <hz> Set frequency (default: 1090 Mhz)
--ifile <filename> Read data from file (use '-' for stdin)
--interactive Interactive mode refreshing data on screen
--interactive-rows <num> Max number of rows in interactive mode (default: 15)
--interactive-ttl <sec> Remove from list if idle for <sec> (default: 60)
--interactive-rtl1090 Display flight table in RTL1090 format
--raw Show only messages hex values
--net Enable networking
--modeac Enable decoding of SSR Modes 3/A & 3/C
--net-beast TCP raw output in Beast binary format
--net-only Enable just networking, no RTL device or file used
--net-bind-address <ip> IP address to bind to (default: Any; Use 127.0.0.1 for private)
--net-http-port <port> HTTP server port (default: 8080)
--net-ri-port <port> TCP raw input listen port (default: 30001)
--net-ro-port <port> TCP raw output listen port (default: 30002)
--net-sbs-port <port> TCP BaseStation output listen port (default: 30003)
--net-bi-port <port> TCP Beast input listen port (default: 30004)
--net-bo-port <port> TCP Beast output listen port (default: 30005)
--net-ro-size <size> TCP raw output minimum size (default: 0)
--net-ro-rate <rate> TCP raw output memory flush rate (default: 0)
--net-heartbeat <rate> TCP heartbeat rate in seconds (default: 60 sec; 0 to disable)
--net-buffer <n> TCP buffer size 64Kb * (2^n) (default: n=0, 64Kb)
--lat <latitude> Reference/receiver latitude for surface posn (opt)
--lon <longitude> Reference/receiver longitude for surface posn (opt)
--fix Enable single-bits error correction using CRC
--no-fix Disable single-bits error correction using CRC
--no-crc-check Disable messages with broken CRC (discouraged)
--phase-enhance Enable phase enhancement
--aggressive More CPU for more messages (two bits fixes, ...)
--mlat display raw messages in Beast ascii mode
--stats With --ifile print stats at exit. No other output
--stats-every <seconds> Show and reset stats every <seconds> seconds
--onlyaddr Show only ICAO addresses (testing purposes)
--metric Use metric units (meters, km/h, ...)
--snip <level> Strip IQ file removing samples < level
--debug <flags> Debug mode (verbose), see README for details
--quiet Disable output to stdout. Use for daemon applications
--ppm <error> Set receiver error in parts per million (default 0)
--help Show this help
Debug mode flags: d = Log frames decoded with errors
D = Log frames decoded with zero errors
c = Log frames with bad CRC
C = Log frames with good CRC
p = Log frames with bad preamble
n = Log network debugging info
j = Log frames to frames.js, loadable by debug.html
Examples
# Interactive terminal mode: a live table of aircraft
dump1090 --interactive
# Serve a web map on http://localhost:8080 and a network feed
dump1090 --net --interactive
# Increase gain and enable error correction for weak signals
dump1090 --gain 49.6 --fix --interactive
# Connect a viewer to a running instance's feed
view1090