Skip to content

ADS-B/FLARM/UTM Receivers: Air Traffic Avoidance

PX4 can monitor cooperative air traffic reported by ADS-B, FLARM, or UTM integrations. When it detects a potential conflict, PX4 can warn the operator or request an action such as Hold, Return, Land, or Terminate.

This page explains how to connect a supported receiver and configure traffic avoidance behavior. It is most relevant for operations in shared airspace, particularly beyond visual line of sight (BVLOS), where the vehicle must maintain safe separation from manned aviation without an onboard pilot.

INFO

PX4 can only assess cooperative traffic: aircraft that actively broadcast their position via ADS-B, FLARM, UTM, or a compatible integration. If your operation does not involve that kind of traffic data, this page is unlikely to apply.

For details on conflict-detection logic, alert volumes, notifications, testing, and extension points, see Detect and Avoid.

Supported Hardware

PX4 traffic avoidance works directly with ADS-B and FLARM products that send MAVLink ADSB_VEHICLE. DAA consumes PX4's transponder_report topic, so other traffic sources can be supported by an adapter that publishes compatible reports.

INFO

PX4 does not currently convert incoming MAVLink UTM_GLOBAL_POSITION messages into traffic reports. A UTM integration therefore needs a separate transponder_report adapter.

It has been tested with the following devices:

Hardware Setup

Any of the devices can be connected to any free/unused serial port on the flight controller. Most commonly they are connected to TELEM2 (if this is not being used for some other purpose).

PingRX Pro

The PingRX MAVLink port uses a JST ZHR-4 mating connector with pinout as shown below.

PinSignalVolt
1 (red)RX (IN)+5V tolerant
2 (blk)TX (OUT)
3 (blk)Power+4 to 6V
4 (blk)GNDGND

The PingRX comes with connector cable that can be attached directly to the TELEM2 port (DF13-6P) on an mRo Pixhawk. For other ports or boards, you will need to obtain your own cable.

The recommended port configuration for this receiver is:

ParameterRecommended Value
MAV_X_CONFIGTELEM 2
MAV_X_MODEuAvionix
MAV_X_RADIO_CTLDisabled

FLARM

FLARM has an on-board DF-13 6 Pin connector that has an identical pinout to the mRo Pixhawk.

PinSignalVolt
1 (red)VCC+4V to +36V
2 (blk)TX (OUT)+3.3V
3 (blk)RX (IN)+3.3V
4 (blk)-+3.3V
5 (blk)-+3.3V
6 (blk)GNDGND

INFO

The TX and RX on the flight controller must be connected to the RX and TX on the FLARM, respectively.

PX4 Configuration

Port Configuration

The receivers are configured in the same way as any other MAVLink Peripheral. The recommended configuration for most devices (unless they have device-specific configuration like PingRX) is to connect to TELEM 2 and set the parameters as shown:

ParameterRecommended Value
MAV_X_CONFIGTELEM 2
MAV_X_MODENormal
MAV_X_RATE0 (default sending rate for port)
MAV_X_FORWARDEnabled

Then reboot the vehicle.

You will now find a new parameter called SER_TEL2_BAUD, which must be set to 57600.

Configure Traffic Avoidance

Traffic avoidance is included when the firmware is built with CONFIG_NAVIGATOR_ADSB. The conflict model is also selected at build time:

  • Crosstrack mode is used when CONFIG_NAVIGATOR_ADSB_F3442 is disabled. It raises one conflict level and action when the current vehicle is close to the traffic's predicted track, vertically close, and within a configured collision-time threshold. This is the avoidance mode historically supported by PX4.
  • F3442 mode is used when CONFIG_NAVIGATOR_ADSB_F3442 is enabled. It evaluates four alert tests derived from concepts in ASTM F3442/F3442M-23 and supports a separate action for each result level.

WARNING

The F3442 mode processes cooperative traffic only and implements selected alert concepts and thresholds. It does not by itself establish compliance with ASTM F3442/F3442M-23, which applies to the complete DAA system and its compliance evidence. The implementation references the 2023 edition and has not been evaluated against the later ASTM F3442-25 edition.

For the detailed behavior of each conflict model, see Detect and Avoid > Conflict Standards and Detect and Avoid > Automated Actions.

Enable Avoidance

Use DAA_EN to enable or disable DAA at runtime.

Crosstrack

Use firmware built without CONFIG_NAVIGATOR_ADSB_F3442 if you want the single-threshold traffic avoidance behavior.

ParameterDescription
NAV_TRAFF_AVOIDAction requested when the crosstrack threshold is breached. 0: Disabled, 1: Warn only, 2: Return, 3: Land, 4: Hold, 5: Terminate.
NAV_TRAFF_A_HORMaximum absolute crosstrack distance from the projected traffic track.
NAV_TRAFF_A_VERMaximum vertical separation from the traffic aircraft.
NAV_TRAFF_COLL_TMaximum conservative time-to-collision estimate. A conflict is raised only if the horizontal, vertical, and time conditions are all met.

F3442

Use firmware built with CONFIG_NAVIGATOR_ADSB_F3442 for staged alerting based on selected ASTM F3442/F3442M-23 concepts.

PX4 evaluates four conflict levels and maps each level to an action:

ParameterDescription
DAA_LVL_LOW_ACTAction for the augmented well clear alert volume.
DAA_LVL_MED_ACTAction for the augmented NMAC alert volume.
DAA_LVL_HIGH_ACTAction for Loss of Well Clear (LoWC).
DAA_LVL_CRIT_ACTAction for Near Mid-Air Collision (NMAC).

F3442 mode evaluates four cylindrical alert tests in priority order. A test is breached when both horizontal and vertical separation are inside its combined ownship (the current vehicle) plus traffic bounds.

ItemParametersMeaning
CRITICALDAA_LVL_CRIT_RAD, DAA_LVL_CRIT_HGTPer-aircraft NMAC base radius and vertical bound.
HIGHDAA_LVL_HIGH_RAD, DAA_LVL_HIGH_HGTPer-aircraft Well Clear base radius and vertical bound.
MEDIUMDAA_LVL_MED_TIMEExpands the NMAC base volume using aircraft speed and the configured time margin.
LOWDAA_LVL_LOW_TIMEExpands the Well Clear base volume using aircraft speed and the configured time margin.
Velocity inputDAA_EN_DFLT_VEL, DAA_DFLT_VELOptional replacement for the reported traffic vertical speed.

Changing an action parameter does not re-evaluate buffered conflicts immediately. The new action is considered on a later change of the overall most-urgent conflict level, and automatic mode changes are only requested when that level increases.

These parameters use the same action scale: 0: Disabled, 1: Warn only, 2: Return, 3: Land, 4: Hold, 5: Terminate.

Most users can start with the default F3442 volume parameters and tune them only if needed. See Detect and Avoid > F3442 Mode, which also includes the zone-computation equations.

Arming Check

PX4 can be configured to check for the presence of a traffic avoidance system (for example an ADS-B or FLARM receiver) before arming. This ensures that a traffic avoidance system is connected and functioning before flight.

This check only verifies that a traffic source is present. It is separate from DAA rejecting arming because active traffic already requires an automatic action; that behavior is described in Detect and Avoid > Arming, Preflight, and Ground Behavior.

The check is configured using the COM_ARM_TRAFF parameter:

ValueDescription
0Disabled (default). No check is performed.
1Warning only. A warning is issued if no traffic avoidance system is detected, but arming is allowed.
2Enforce for all modes. Arming is denied if no traffic avoidance system is detected, regardless of flight mode.
3Enforce for mission modes only. Arming is denied if no traffic avoidance system is detected and a mission mode is planned.

When a traffic avoidance system is detected, the system tracks its presence with a 3-second timeout. If the system is lost or regained, corresponding events are logged ("Traffic avoidance system lost" / "Traffic avoidance system regained").

Testing

To test your DAA configuration using simulated traffic, see Detect and Avoid > Testing and Simulation.

Further Information