Airplanes.live

Build your own ADS-B feeder: hardware, antenna siting, and what to expect

The map is not a data feed. It is several thousand private rooftops, and it has a hole in it wherever nobody has bothered. Filling one takes an afternoon.

· Airplanes.live · about 9 minutes

Every aircraft you have ever seen on this map arrived by radio, and every one of those radios belongs to somebody. Not to an agency, not to a vendor with a licensing department: to a person who put an antenna somewhere high, pointed a small computer at it, and left the thing running. The airplanes.live network is thousands of those, stitched into one picture. There is no other machinery behind it.

The map therefore has exactly the shape of where those volunteers happen to live: dense and redundant over cities, thinner across farmland, abruptly blank over a stretch of coast or a mountain valley where nobody has ever set one up. Aircraft fly through those places all the time, broadcasting perfectly well. Nobody is listening.

You can fix a piece of that yourself, and the equipment involved is genuinely unremarkable.

Why anyone bothers

Three reasons, roughly in ascending order of how convincing people find them.

Coverage where there isn't any. The parts of the network that need help are not the ones you would guess. Another receiver in a well-covered metro adds little, because a dozen neighbours already hear everything it does. A receiver in a rural county, along a coastline, or on the far side of a ridge can be the only thing in the world that hears a particular aircraft at a particular moment. If the map looks sparse where you live, your rooftop is worth more than a much fancier setup in a city.

Multilateration needs geometry, not density. Plenty of aircraft carry a transponder that never broadcasts a position, and the only way to place them is to compare arrival times across several receivers that heard the same transmission. That calculation wants receivers spread out: four clustered in one suburb give a poor solution no matter how good each one is, while four spaced across a region give a good one. Being the odd receiver in an empty area is disproportionately useful (how ADS-B and multilateration work).

You get your own sky. This is the part that keeps people going. A feeder gives you a local view no aggregated map can: traffic below the horizon of every other receiver around you, the pattern work at the small field down the road, the helicopter that orbited your neighbourhood at two in the morning. It is your radio, in your house, hearing your air.

What the hardware actually is

Four things, and only one of them is interesting.

An antenna cut for 1090 MHz. The wavelength is around 27 cm, so a purpose-built antenna is a small, hand-sized object. Buy one made for the band or build one: homebrew versions work embarrassingly well, because the physics at this frequency is forgiving. What is not forgiving is where you put it.

A software-defined radio dongle. An RTL-SDR style USB stick, originally a cheap television tuner design, repurposed into a general-purpose receiver. Versions sold specifically for ADS-B add filtering and a better oscillator, but the idea is the same: it hands raw samples to the computer and lets software do the demodulating.

A small computer. Raspberry Pi class. Decoding 1090 MHz is not a heavy job, and a machine several generations old will do it without complaint. A used single-board computer out of a drawer is a respectable host.

Optionally, a filter and a preamplifier. If you live near broadcast transmitters, cellular sites, or anything else loud, strong signals elsewhere in the spectrum can swamp the receiver's front end and cost you aircraft you would otherwise hear. A bandpass filter removes them; a low-noise amplifier at the antenna helps recover weak signals over a long cable run. Neither is worth buying before you know whether you have the problem.

On cost: prices vary by country and change constantly, so treat any figure you read as folklore. A modest build sits in the territory of a nice dinner out, and the expensive-looking upgrades are usually not the ones that improve reception. Height is free.

The antenna is most of the outcome

If you remember one thing, remember this: at 1090 MHz you are working with line of sight, and almost nothing else matters as much as what your antenna can see.

The signal does not bend around hills or over the horizon in any useful amount. Range is a geometry problem rather than a power problem, and the geometry is dominated by the aircraft's altitude rather than yours: an airliner at cruise is visible from a long way off simply because it is high. Your job is to not be the limiting factor. Height buys horizon; obstructions take it back.

In rough order of results, best to worst:

Two practical notes. Keep the cable run short and use decent coax: loss at this frequency is real, and a long run of poor cable quietly undoes the height you worked for. And treat an outdoor install as the physical and electrical job it is, with secure mounting, weatherproofed connections and sensible grounding. If it involves a ladder and you are not confident, hire somebody.

Before you buy anything

Look at where coverage is thin near you, on the live map or in the app. A receiver placed into a gap is worth several placed into a crowd, and the gap may be closer than you think: coverage down low is patchy almost everywhere.

Getting it running

The software side has been made deliberately boring. There are prebuilt operating system images that you write to a memory card, boot, and configure through a web page on your own network. Follow the current feeder setup instructions on the airplanes.live website: package names and commands change, and a stale command copied from a blog post is how people lose an evening. This post will not guess one at you.

One configuration step is worth flagging in advance, because people skip it. During setup you will be asked to set a feeder UUID: a long identifier, in the usual eight-four-four-four-twelve hexadecimal form, that identifies your receiver's connection to the network. Set it deliberately and write it down somewhere you will find it again. A receiver whose owner never set one reports the all-zero UUID (00000000-0000-0000-0000-000000000000), which is not an identity at all but the absence of one, shared by every unconfigured receiver in the world. Data still flows, but nothing can be attributed to you, including the thank-you described at the end of this post.

What to expect once it is running

The first aircraft usually appears within seconds of the decoder starting, a slightly startling moment even when you know how it works. After that, calibrate expectations.

Your receiver reports a message rate, an aircraft count and a range figure, and all three swing wildly through the day. Traffic thins at night. Range varies with what happens to be flying: high-altitude traffic overhead produces impressive numbers, and the same equipment on a quiet afternoon looks broken by comparison. Judge changes over weeks, not hours.

Most decoders draw a coverage polygon: the outline of where you have actually heard aircraft. It is your most useful diagnostic, because it is a picture of your obstructions. Notches point at buildings and hills, and a polygon that is large in one direction and clipped in another tells you exactly what to move the antenna away from. Watch it for a week, move the antenna, watch it again. That loop is the whole optimisation process, and it beats any purchase.

Expect low-level traffic to be scarce. Reception is a cone opening upward, so an aircraft at 2,000 ft is visible only for a short radius even while aircraft at 35,000 ft are received hundreds of miles away. Expect gradual seasonal changes if trees are in the path, and expect weather to cost you far less than the parapet wall on the north side of the building.

One optional extension: in the United States, a second link at 978 MHz (UAT) carries lower-altitude general aviation that a 1090 MHz receiver cannot hear at all. Covering it means a second dongle and a second antenna, and in an area busy with light aircraft it adds traffic nothing else on your roof will see.

What the network does with it

Your decoder sends a stream of aircraft states to the network, which merges it with everyone else's and reconciles the duplicates. Where yours is the only receiver in range, your data is the map. That merged stream feeds the app and the web map, and because it is received from the air rather than licensed from an agency it inherits nobody else's exclusion list: the subject of what "unfiltered" actually means, and true because of the receivers rather than in spite of them.

The thank-you: Pro for active feeders

This sits at the end of the post rather than the top because it is a consequence of feeding rather than a reason for it. If you feed the airplanes.live network, the Pro features in the app are yours at no charge for as long as you keep feeding. Here is exactly how that works, because a vague answer to "how does it know?" is not much of an answer.

You enter your feeder UUID in the app. Our server then asks the airplanes.live network whether that UUID is currently feeding. It never takes the app's word for it: the claim arrives from the client, and the verification happens server-to-server against the network itself. If the network reports an active connection, the server issues a cryptographically signed grant (Ed25519) that unlocks Pro on your device. The grant is short-lived, currently about a week, and it renews automatically for as long as your receiver keeps feeding. Stop feeding and it simply lapses. Nothing is cancelled, nobody is billed, and there is no account to close.

Two details follow from that design. The all-zero UUID is rejected outright, which is the reason for the warning further up: an identifier shared by every unconfigured receiver in the world cannot establish that your receiver is feeding. And nothing else about your feeder is stored or shown. The check deliberately strips the receiver's location and its handle, so the server keeps no picture of where you are or what you call yourself. It asks one question, gets one answer, and issues one signed grant.

What this is, honestly

It is a thank-you, not a payment scheme and not a loophole. The app is built on data that volunteers collect, and charging those volunteers for access to their own contribution would be a strange way to run it. It is a courtesy rather than a purchase, and the terms of use say so in the same words.

The current Pro feature list is on the features page, and authoritatively on the App Store listing and the app's purchase screen.

The short version

An antenna, a dongle, and a computer older than your phone. Put the antenna as high as you can with a clear view, because that decision outweighs every other one you will make. Set a real feeder UUID. Watch the coverage polygon for a week and move the antenna once. What you get back is a local view of your own sky, a piece of a worldwide map that would not exist without people doing this, and, for as long as the data keeps arriving, Pro on the house.

See what your receiver is hearing

Airplanes.live is a free live aircraft tracker for iPhone and iPad, built on the same volunteer receiver network you would be joining.

Download Airplanes.live on the App Store