Files
PX4-Autopilot/docs/en/peripherals/adsb_flarm.md
PX4BuildBot 06d0e500b7 docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-07-23 20:34:01 +00:00

14 KiB

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.

Pin Signal Volt
1 (red) RX (IN) +5V tolerant
2 (blk) TX (OUT)
3 (blk) Power +4 to 6V
4 (blk) GND GND

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:

Parameter Recommended Value
MAV_X_CONFIG TELEM 2
MAV_X_MODE uAvionix
MAV_X_RADIO_CTL Disabled

FLARM

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

Pin Signal Volt
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) GND GND

::: 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:

Parameter Recommended Value
MAV_X_CONFIG TELEM 2
MAV_X_MODE Normal
MAV_X_RATE 0 (default sending rate for port)
MAV_X_FORWARD Enabled

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.

Parameter Description
NAV_TRAFF_AVOID Action requested when the crosstrack threshold is breached. 0: Disabled, 1: Warn only, 2: Return, 3: Land, 4: Hold, 5: Terminate.
NAV_TRAFF_A_HOR Maximum absolute crosstrack distance from the projected traffic track.
NAV_TRAFF_A_VER Maximum vertical separation from the traffic aircraft.
NAV_TRAFF_COLL_T Maximum 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:

Parameter Description
DAA_LVL_LOW_ACT Action for the augmented well clear alert volume.
DAA_LVL_MED_ACT Action for the augmented NMAC alert volume.
DAA_LVL_HIGH_ACT Action for Loss of Well Clear (LoWC).
DAA_LVL_CRIT_ACT Action 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.

Item Parameters Meaning
CRITICAL DAA_LVL_CRIT_RAD, DAA_LVL_CRIT_HGT Per-aircraft NMAC base radius and vertical bound.
HIGH DAA_LVL_HIGH_RAD, DAA_LVL_HIGH_HGT Per-aircraft Well Clear base radius and vertical bound.
MEDIUM DAA_LVL_MED_TIME Expands the NMAC base volume using aircraft speed and the configured time margin.
LOW DAA_LVL_LOW_TIME Expands the Well Clear base volume using aircraft speed and the configured time margin.
Velocity input DAA_EN_DFLT_VEL, DAA_DFLT_VEL Optional 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 and Failsafe

PX4 can be configured to warn about, or require, a traffic avoidance system (for example an ADS-B or FLARM receiver), and to trigger a failsafe if the system stops sending MAVLink heartbeats in 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 behavior is configured using the COM_TRAFF_AVOID parameter:

Value Description
0 Disabled (default). No check is performed.
1 Warning (allow arming). Arming is allowed even if no traffic avoidance system is detected; a warning is issued if it is missing or lost in flight.
2 Error (block arming). Arming is denied while no traffic avoidance system is detected, and a warning is issued if it is lost in flight.
3 Return. Arming is denied while no traffic avoidance system is detected, and the vehicle returns if it is lost in flight.
4 Land. Arming is denied while no traffic avoidance system is detected, and the vehicle lands if it is lost in flight.

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