Sectorized piaware with Multiple Antennas and Receivers

I have a pretty good location between LAX and SAN (with lots of other airports too) and the traffic from the north dominates my receiver with omni antenna. I took note of the positions from my receiver that make it into and they tend to be out in the desert to the east and south where there are no FA receivers.

I put up two new receivers with directional antennas, one pointing east and one pointing south. Sure enough, suppressing the interfering signals from the north gets better range and turns dotted tracks into solid lines.

Right now the three receivers are running as separate sites even though they are collocated.

I would like to combine the feeds and filter the duplicates. The ultimate would be to have all three receivers plugged into a single pi3, but that’s just a nice-to-have.

I realize that having antennas physically separated would impact MLAT, so the sector antennas must be close together. Mine are mounted on the same mast.

I found a dump1090 discussion where the messages from a secondary pi were read by a primary pi and netcat used to send as a combined stream, but no mention was made of filtering duplicates.


You can run multiple dongles and dump1090 instances on the same Raspberry Pi system. You will need to use multiple UUID login and have piaware connect modified dump1090 ports. A little bit tricky to setup.

Doing this with multiple Raspberry Pi, exactly like how you have it setup, doesn’t require any changes to the software. You will have each unit send their data to FlightAware and then have another instance of dump1090 feed with netcat that would combine the feeds for yourself. This setup would give you a Skyview with all your sites in one map.

but no mention was made of filtering duplicates.
PiAware (the program that reads from dump1090 and sends it to FlightAware) keeps a local list of all the aircrafts and drops messages that are too close together in time. This effectively filter duplicates before sending them to FlightAware. If you want to filter position locally you can do something similar to save a little bit of bandwidth. This really doesn’t matter for local systems but when collecting data remotely from tens of thousands of site it really helps.

FlightAware also does similar filtering of all the combine feeder sites.

Filtering does lower the bandwidth from a few KB/sec to maybe 1-5 KB/sec bandwidth. You will NOT notice this on a home network able to do GB/sec.

I realize that having antennas physically separated would impact MLAT.

MLAT requires the data directly from the RTL dongle. FlightAware can’t do MLAT after the messages are transferred through netcat.

David, Thank you very much for the detailed insight.

I do not want to mess up the MLAT as I am surrounded by military bases and get to watch all sorts of interesting exercises via the MLAT tracking, so I’ll leave the separate feeds as they are. Each one is getting used by FA at the rate of a dozen or more per minute.

Thanks again for the help.

Multiple receivers is easy to do with UAT 978Mhz. It doesn’t use MLAT. I do this with a directional and vertical antenna.

The other option is designate one receiver/dongle for MLAT (say using an omni-directional Antenna) and then feed the others to dump1090 using one of the protocols that doesn’t provide timing information. Not perfect but it should work.

A third option would be a couple of dual antenna radarcapes. Feed them, using GPS timing, into an RPI running dump1090 and MLAT may(and I stress may) work.

If you just want to view the data(not send it to anyone) then VRS, modesmixer, dump1090 and probably PlanePlotter can display multiple feeds(Just don’t send the combined data to a provider).

Sure it can, the data is timestamped at the first dump instance and netcat is just another tcp connection like what is done between 30005 and fa-mlat. As long as the delay is not extreme, it works just fine. I send data from one Rx, to a server in another country and back before doing mlat and it works.

As long as the different receivers data is kept separate, of course.

1 Like

You can install ModeSmixer on one of the Rpis, that connects to all three and combines the received data. There won’t be a problem with duplicates, it has a very nice web presentation (you can also add silhouettes, and an sqb file to look up regs and types. It will not mess with the 3 systems mlat data, just create a presentation layer.


Do different types of RTL dongles give that much of a different rate on the MLAT, or all of them about the same.

1 Like

It’s not the dongle only, but what the dongle receives. A better antenna, a pre-amp, a filter, all can make a difference, in addition to the dongle.

It was an interesting discussion here somewhere about using multiple instances of dump1090 on the same Pi to feed flightaware. I was interested because I have two (maybe three) main directions of airways from my location…

I have run one dump1090 and one dump978 using Joe’s script, I think that it can be done similarly, but needs some “glue” work.
As for the power requirements of multiple dongles, I know that two are at the limit for Pi3 USB ports, maybe a powered hub can help with more?

I have the FA dongle for my ADSB. I recently purchased a RTL_SDR because I want to feed audio to Broadcastify on the same Pi. Anyone set up a Pi like this yet?