Archive of

ADS-B and PiAware

I have run some form of an RTL-SDR based ADS-B receiver every since I first learned it was possible back in college. The idea of using a cheap ($10-20) USB radio to pick up aircraft transponder signals, and then use some open source software to decode and visualize it was beyond cool. A few years ago flightware came out with a program called "PiAware" where if you used their software (a combination of raspbian and dump1090 plus some of their own customizations) you could feed your data into their system to help augment their data, and in the process you got a free premium account.

I never used this because 1) I wasn't interested in a premium account, and 2) I ran my own customized version of dump1090 and didn't want to lose out on my sweet added features. Additionally, even though I know that the software can be run on any linux system, I had always felt that the Raspberry Pi was under-powered and not stable enough to run like this for an extended period of time. About a week ago, I decided to revisit the matter, mostly because of the premium account.

I've been doing a lot of testing with my company's real time & big data spatial processing tool, GeoEvent Server and I was under the impression that the premium account would give me an API key to access their feed. Turns out I was wrong, that has to be paid for separately regardless, but I decided to follow through with setting up PiAware anyway. I have an Raspberry Pi B 3 floating around doing nothing in particular, and I figured it should be beefy enough to handle the task at hand.

(picture of setup here)

My setup is simple but works well, it has been running for just a few days now. My number one question, as it always is with deployed RPis, is how well the SD card will hold up. I'm using a 32GB SanDisk Class 1 card, but you never know. My antenna is the official FlightAware branded ADS-B antenna, a dark green plastic tube about 2ft long with an N-connector on the bottom. I have it mounted on top of a tripod standing up in the attic. 20ft of low-loss coax connect it to the receiver - first to a band pass filter that kicks out FM and all the other RF noise, then to the FlightAware Pro radio itself - this is a standard RTL-SDR with a tuner and amplifier somehow "tuned" to 1090MHz. There is a "Pro Plus" version of this receiver now that has the band pass filter integrated, and I would very much like to see how it compares. The last piece is the Pi itself, the only other thing connected to it is a CanaKit 2.5amp PSU - it's hanging off the network via WiFi, also a test.

Performance has been good, the software barely taxes the resources of the machine, and it hasn't had any issues holding up to the network. Their updated version of dump1090 has a number of features that I had added to my own, so I have no qualms with using it now. It also still has the always-updated JSON endpoint with aircraft information which can be readily ingested into GeoEvent Server - more on that later!

Despite being mounted in an attic, surrounded by trees, the coverage is quite good. I find that 7am-1pm tends to be the busiest time.

Re-Fitting the 1050Ti for the TS140

When I first configured the TS140 as my new desktop, I ran into an issue that I pretty much immediately ignored - caused by the 1050Ti's fan shroud. The front panel USB3.0 header and fifth SATA port were completely blocked. Not a "tight fit" situation, but absolutely blocked. My solution was to simply not have front panel USB or a fifth USB port, but that got old quick. Turns out easily accessible USB ports are added to the fronts of many cases for a reason, who would have guessed. Also, I eventually decided I needed to use the optical drive, and the only spare SATA connection was the one blocked by the card, so I had no choice.

My initial solution was to just hack that corner of the shroud off with a dremel and side cutters, but I stopped that line of thought before it got much further than that. Not only would it permanently disfigure the card (making it much harder to sell should I chose to) but I didn't know for sure that the actual heatsink wasn't also playing a role in blocking those parts of the motherboard. The hope was that the fans would be attached to the heatsink somehow so that I could pull off the shroud around them. When I removed the four 1.5mm hex screws holding it down, I learned that I was 1/3 right - in that one each of the three screws holding the fans in place screw into the heatsink.

I pulled off the shroud and removed all six screws keeping the fans in place (not noticing that while the screws are the same length and diameter, those that go into the plastic of the shroud have a much coarser thread than those that go into the metal of the heatsink, causing quite a bit of confusion.)

Once the shroud was off, the hardest part was getting the fans out of it without damaging anything - the wires between the fans, the shroud itself, or most importantly - the blades. It took and incredible amount of finessing and wiggling in order to get them in place. As far as I can tell the manufacturers must either solder the fan wires in after placing the fans, or they have a lot more trust in the flexibility of the blades than I do.

The fans do only attach to the heatsink with one screw each, but they hold in place just fine and don't pivot or hang from that screw due to how they're held in place, and the fact that they don't weigh very much at all. I know it's not an optimal arrangement, but honestly it works just fine as far as I can tell - the GPU gets no hotter than it did before under load. I know some people will probably complain that by removing the shroud I have upset the thermal profile that this was engineered for, and I probably have, but keep in mind that this card is running at less than 75w anyway and I have had cards that pull twice as much power with similar, or worse, cooling configurations.

What really matters is that I can get to the FP-USB3 header and SATA3 unobstructed now. The cable for the USB ports is quite heavy and, if pushed just right, could bump up against that fan, either stalling it or rubbing. I was able to tuck the cable down and it seems to be holding in place just fine, and I can always add a zip tie if need be.

The card looks very naked now, but I can get to the connectors I need and it can still cool effectively. Positioned directly beneath it is a slot powered m.2-SATA adapter. If the m.2 drive in it were a real NVME card it could boot from that slot as well, but it's not so I use a short SATA lead, which works just fine.