To close to receive helicopter ADS-B?

I have a FlightAware Pro v1 on a PiAware device with a FlightAware antenna. The goal is create a forward deployable FlightAware receiver that can be used in helicopter rescue operations where there’s insufficient existing receivers feeding flightaware/openadsbexchage to see the aircraft operating at low altitudes. When testing last week, I wasn’t seeing any data from the helicopters that were within line of sight. Thoughts?

1 Like

Where are you looking at the data?
How close is the heli? (You may need to decrease the gain to receive very close aircraft)
What’s the transponder on the heli?

1 Like

Hi obj,
I was looking at the data on both the console with view1090-fa and the skyaware web interface. The 3 aircraft of interest were all within 100m when at the LZ or 500m-1,000m when working their divisions.

Confirming gain tuned in /etc/default/dump1090-f ? Mine is currently set at RECEIVER_GAIN=60 ; what would you suggest? Trial and error?

Side question, for aircraft showing up in view1090-fa with a Hex but now squawk ro flight number, are they displayed in the SkyAware web page view?

1 Like

100m is almost certainly going to be overloading the receiver. Gain is mostly trial and error, but I’d start at maybe 20 or 30, you may need to go lower.

For package installs, /etc/default/dump1090-fa is the correct place. For PiAware sdcard images, gain is configured in /boot/piaware-config.txt (the config file in /etc/default is generated based on piaware-config in this case). In both cases you’ll need to systemctl restart dump1090-fa after making changes.

I’d expect everything that view1090-fa sees to also appear on the local SkyAware page. (SkyAware Anywhere may differ, but the local SkyAware should be the same)

(aside: the distance part of free space path loss in dB is 20log10(distance), so a 10x difference in distance is effectively a 20dB difference in power. A transponder at 100m is ~40dB louder than the same transponder at 10km. And those dongles only have about 40dB-ish of dynamic range to begin with …)

3 Likes

Thank you @obj . I’ll play with adjusting the gain. I found this thread about auto gain. Is enabling adaptive-dynamic-range and adaptive-burst something you’d recommend? Sounds like --adaptive-burst-loud-rate and adaptive-burst-quiet-rate may need adjusting and this is a bit of a use-the-force-Luke.

FYI for others, I found this script for adjusting the gain from within the FA UI - GitHub - abcd567a/set-gain

adaptive-burst might help here but as you say it’s pretty magic; if you can find a fixed gain that works well for your situation that’s probably better.

1 Like

Hi,

Are you sure those helicopters are full ads-b with position? Many military aircraft and helicopters are still just mode-s only, and will display on view1090 with a mode-s code and altitude. They will not have a position. There are also still many mode-a/c only military aircraft and helicopters. They will show in view1090 with just the squawk, but needs other software to actually calculate a position.

Check the maintenance forms for the helicopters you are interested in or talk to the crews. The mode-s code (for mode-s or ads-b) will be identified in the forms and often on an identification plate in the helicopter. For all the military aircraft I have dealt with, the code is entered in octal format (0-7), not in the hex format (0-9, a-f) that you are used to seeing with most software.

Regards,
-Dan

1 Like

For the Guard aircraft attached to the team, the UH-60s are likely mode-s or mode-a/c only, but the LUH-72Bs are for sure full ADS-B. I’ll check with the crews to see if we can get the mode-s code. Thanks for the tip.

@MC130E what software is needed to calculate position? And can it run on the pi?

Hi mauzy9,

Since your personal system is located near KRDU, Raleigh/Durham, NC, I am going under the assumption you are interested in that area, or possibly forward deployed areas in the US. If the deployed areas are outside the US, that changes things a bit.

I am located in NW Florida with a good mix of Air Force, Navy, and Army traffic. Many of those UH-60s are definitely mode-a/c only. Some of my local military trainers are actually transmitting on 978 MHz UAT, so that might be something to consider.

Getting position from mode-a/c only aircraft is way too complicated for a deployable package like you are trying to build. It is possible to mode-a/c mlat on networks like PlanePlotter, but that network has extremely limited station coverage here in the US. Even mode-s mlat would probably be impossible in your area on that network.

The tool I use here locally for mode-a/c positions is called Beamfinder within the Planeplotter software. There is a very steep learning curve, and it involves locating the radar heads in your area. Then the software helps you analyze the pulse rates and RPM interval of the individual radar heads. Then it uses a known ads-b aircraft to track the rotation of the radar heads and provide radials pointing to the unknown designated mode-a/c aircraft. This is NOT an option for you since it requires experience and knowledge of the local radar sites. It is definitely NOT something you could deploy and let anyone use.

Possible suggestions:

  1. You are likely overloading with your very close traffic. You might want to consider using two separate receivers on the same Pi. One would be on your good antenna for optimum range, and another would have a simple short antenna and low gain. The local antenna could even be one of those simple 70mm antennas that comes with some of the generic dongles.

  2. You might want to see if any of your helicopters are using 978 MHz UAT. Not much, but some of my local military traffic does. If so, then you would use two receivers on the Pi, one for 1090 and the second for 978. PiAware does that very well.

  3. When you talk to the crews, don’t be surprised if they do not completely understand the difference between mode-s (position and altitude) and full ads-b. If the forms have a mode-s code, it could be either of those. If it has 978 MHz UAT, it should also be in the forms. Both the 1090 and 978 systems use the same hex code.

  4. About that mode-s hex code. We tend to think of military aircraft as having hex codes starting AExxxx, and most of them do. There are also some in the ADxxxx and AFxxxx range. When you check the forms, you will probably NOT see that AExxx code, since everything I have dealt with on the military side is programmed in octal.

To convert from ocatl (0-7) to hex (0-9, a-f), you can use any scientific calculator. Windows calculator can also do it in programmer mode.

Here is an example of a sample military aircraft. This one is a local ads-b equipped B06 TH-57 Sea Ranger.

hex = AE5E8E (How we see it in most of the receiving software.)
octal = 53457216 (How the crew will probably see it.)

That is why most people think of US military aircraft as AExxxx, but most military crews know their codes as 534xxxxx.

  1. You mentioned viewing your traffic with view1090-fa. If you have not already, make sure you enable mode-a/c with a view1090-fa command that has “–modeac”. This will allow you so see the mode-a/c only aircraft by squawk at the bottom of the list. Dump1090-fa does an excellent job with mode-a/c, but it is not enabled by default. It is possible to turn it on in dump1090-fa, but there is no reason to do that. Dump1090-fa is smart enough, that when view1090-fa connects and “asks” for mode-a/c (as part of the beast style TCP connection string), it enables mode-a/c. One thing about dump1090-fa and mode-a/c. It is all or nothing. If anything requests mode-a/c, then ALL connections will receive mode-a/c. That is not normally a problem and there are ways around it for those that do multiple external remote raw data connections.

  2. Another tip for view1090-fa and seeing mode-a/c. The mode-a/c “squawks” (and altitudes) will be at the bottom of the list. If you find that you have so much mode-s and ads-b traffic that you can’t see the bottom of the list, you might try the command option below.

–interactive-ttl Remove from list if idle for (default: 60)

Using zero seconds as below will hide all the mode-s and ads-b. It will only show the mode-a/c, however the mode-a/c still times out quickly after only a few seconds. There is no separate --interactive-ttl command option specific to mode-a/c. It seems to be hard coded.

–interactive-ttl 0


If it was me, I would first start looking at mode-a/c only. There will be no easy way for you to get those positions. I would also check for 978 MHz UAT. That would be very easy to add. I would definitely consider two receivers for LZ and longer range. If you try the adaptive-burst that obj suggested, definitely consider using a min gain setting. Otherwise, a local aircraft can severely wipe out your longer range when a helicopter is sitting on the LZ.

Good luck,
-Dan

Hi mauzy9,

One more tip.

When you talk to the crews, don’t be surprised if you see them using Apple iPads for electronic flight publications (charts, approach plates) and receivers to display 1090 and 978 traffic on that software.

Years ago, the Air Force replaced most of their aircrew Technical Orders, publications, and flight products with iPads. The software often used is GoodReader for everything PDF, and ForeFlight for the charts and other flight products. ForeFlight is amazing, and incredibly easy to use. Yes, there are always backup iPads available, and even some paper backups.

ForeFlight link: (civilian personal version)
https://foreflight.com/solutions/personal/

The military uses the MFB Military Flight Bag version:

There are several versions of inflight 1090/978 receivers that will feed data to software like ForeFlight. They also receive the FAA 978 MHz broadcasts with weather, notams, and other flight info. It is sort of like having an XM-radio weather package available inflight.

The Stratus ads-b is one of several brands available. Stratus is the only one I have used.

Regards,
-Dan