How to feed multiple ADS-B networks from one receiver
One receiver can feed many networks at the same time: each gets its own copy of the same data. Here’s how that works, what to watch out for, and how to set it up with Ultrafeeder, the adsb.im image or a plain readsb install.
How multi-feeding works
Your decoder (readsb, inside Ultrafeeder or installed directly) opens a separate outgoing connection to each network
and sends each one the same stream of decoded messages, usually in the compact beast_reduce_plus format.
MLAT is separate again: an mlat-client connection per network, each sending timing data and receiving positions back
for your map. The connections don’t interfere with each other, and the extra upload per network is small.
Your station is identified by a UUID. Most setups send the same UUID to every network; Ultrafeeder can also
give a single network its own UUID by adding uuid=… to that network’s entry.
What to avoid
- Don’t merge several receivers into one feed. Combining data from different antennas before sending it confuses MLAT, which relies on each station’s exact position and timing, and weakens the data for everyone. Feed each receiver separately.
- Don’t guess your location for MLAT. MLAT needs your antenna’s position to within about 10 metres and its altitude. If you’d rather not share an exact location, skip MLAT for that network.
- Check each network’s terms. Some networks are community projects and some are commercial; they differ in how they use and share data, and in privacy options.
Ultrafeeder (Docker)
List every network in ULTRAFEEDER_CONFIG, separated by ;. Each network usually has an
adsb entry and an mlat entry; the networks’ own pages list their addresses.
- ULTRAFEEDER_CONFIG=
adsb,feed.adsb.fi,30004,beast_reduce_plus_out;
mlat,feed.adsb.fi,31090;
adsb,feed.planedata.io,30004,beast_reduce_plus_out;
mlat,feed.planedata.io,31090
Apply with docker compose up -d. The Ultrafeeder guide
covers this step by step, and the compose generator builds a
complete file with the networks you tick.
adsb.im image
The adsb.im image lists many networks on its data sharing page. For a network that isn’t listed there, such as
planedata.io, add it as a custom entry: open Setup → Expert, paste the network’s entries into Add additional
Ultrafeeder arguments (separated by ;) and submit. The exact entries for planedata.io are on the
feeding page.
readsb without Docker
If you installed wiedehopf’s readsb directly, each network is a --net-connector option. Add it inside the
quotes of the NET_OPTIONS line in /etc/default/readsb, using your station’s UUID:
sudo nano /etc/default/readsb # inside the quotes of NET_OPTIONS="...", add: # --net-connector feed.planedata.io,30004,beast_reduce_plus_out,uuid=YOUR-UUID sudo systemctl restart readsb
Create a UUID with cat /proc/sys/kernel/random/uuid if you don’t have one. MLAT needs a separate
mlat-client for each network; the feeding page shows the mlat-client command for planedata.io.
Verify and remove
- Check each network separately: most have a status page; for planedata.io it’s “Am I feeding?” on the contributors page, opened from the receiver’s own network.
- Check your receiver still works: your local map and your other networks should look the same as before.
- Remove a network by deleting its entries (and the
;before them) or its--net-connector, then apply the change as above. The other networks are unaffected.
Add planedata.io to your receiver
Related guides
References
Checked against: the SDR-Enthusiasts docker-adsb-ultrafeeder README and ADS-B setup guide (multiple
aggregators in ULTRAFEEDER_CONFIG, per-entry UUIDs); adsb.im’s documentation (the Expert page’s
additional Ultrafeeder arguments, and its warning against combining receivers’ data); wiedehopf’s readsb README and
readsb install documentation (--net-connector … beast_reduce_plus_out,uuid=…, and that the install script
isn’t for PiAware SD-card images); and adsb.lol’s feed client documentation (manual feeding with readsb plus a
separate mlat-client). The readsb connector was tested against a readsb aggregator hub.