Making · 2026
Aircraft, from the desk
An RTL-SDR feeding readsb and tar1090 on Linux, plus a Flightradar24 feed. Built a V-dipole tuned for 1090 MHz and calibrated it against known traffic.
What this is
Every airliner overhead is continuously broadcasting its identity, position, altitude, and velocity in the clear on 1090 MHz. No authentication, no encryption — ADS-B is a cooperative surveillance system and being readable is the entire point.
A twenty-dollar USB TV tuner can receive it. That fact does not stop being remarkable.
The stack
dump1090 first on Windows to confirm the hardware worked, then a proper setup on Kali with
readsb doing the decoding and tar1090 serving the map. Running it on a non-default port so
it coexists with everything else on the machine.
On top of that, fr24feed publishes the decoded stream to Flightradar24, feeding my local
receptions into their global network — which, as a side effect, earns a Flightradar24
contributor plan. Nice trade: they get coverage over the West Valley, I get the full product.
The antenna is the whole game
This is the part that surprised me, and it’s the part that generalizes.
The stock antenna that ships with an RTL-SDR is a compromise built for nothing in particular. At 1090 MHz a quarter wavelength is about 69 mm, which means a correctly built antenna is small, trivially constructible, and dramatically better than what came in the box.
A V-dipole is two elements of that length at roughly 120°, and it beats the stock whip by a margin that is not subtle — range and message rate both jump. Calibration against known traffic (watching how far out aircraft are still being decoded, and how message rate changes as you adjust) turns antenna building from guesswork into something you can measure.
The lesson that transfers: I spent an hour on software configuration for every ten minutes on the antenna, and the antenna produced almost all of the improvement. The bottleneck was in the physical layer the entire time, which is where it usually is in RF and roughly never where software people look first.
Why I keep it running
It’s a live data pipeline that I didn’t have to invent a use case for. Real-time ingest of a noisy broadcast stream, decoded to structured records, with a natural time-series shape and enough volume to be interesting. Every question I’d ask of a production pipeline — what’s the message rate, what’s the drop rate, how does receive quality vary by hour and by weather — has a real answer here.
It’s also just very good to look at a map that you’re personally generating.