# Airspeed Sensors

Airspeed sensors are *highly recommended* for fixed-wing and VTOL frames. They are so important because the autopilot does not have other means to detect stall. For fixed-wing flight it is the airspeed that guarantees lift not ground speed!

![Digital airspeed sensor](https://4155462212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LArEa7z2SPawfl3HpCD%2Fuploads%2Fgit-blob-cf552e2a1532e9d6951b0fc617541c9819fd3fb1%2Fdigital_airspeed_sensor.jpg?alt=media)

## Hardware Options

Recommended digital airspeed sensors include:

* Based on [Pitot tube](https://en.wikipedia.org/wiki/Pitot_tube)
  * MEAS Spec series (e.g. [MS4525DO](https://www.te.com/usa-en/product-CAT-BLPS0002.html), [MS5525](https://www.te.com/usa-en/product-CAT-BLPS0003.html))
    * [mRo I2C Airspeed Sensor JST-GH MS4525DO](https://store.mrobotics.io/mRo-I2C-Airspeed-Sensor-JST-GH-p/m10030a.htm) (mRo store)
    * [Digital Differential Airspeed Sensor Kit](https://store-drotek.com/793-digital-differential-airspeed-sensor-kit-.html) (Drotek).
  * [EagleTree Airspeed MicroSensor V3](http://www.eagletreesystems.com/index.php?route=product/product\&product_id=63) (eagletreesystems)
  * [Sensirion SDP3x Airspeed Sensor Kit](https://store-drotek.com/793-digital-differential-airspeed-sensor-kit-.html)
  * [Holybro Digital Air Speed Sensor](https://holybro.com/products/digital-air-speed-sensor)
* Based on [Venturi effect](https://en.wikipedia.org/wiki/Venturi_effect)
  * [TFSLOT](https://px4.gitbook.io/px4-user-guide/drone_parts/peripherals/airspeed/airspeed_tfslot) Venturi effect airspeed sensor.

All the above sensors are connected via the I2C bus/port.

:::note Additionally, the [Avionics Anonymous Air Data Computer](https://www.tindie.com/products/avionicsanonymous/uavcan-air-data-computer-airspeed-sensor/) can be connected to the CAN bus to determine not only high-accuracy airspeed, but also true static pressure and air temperature via onboard barometer and an OAT probe. :::

## Configuration

### Enable Airspeed Sensors

Airspeed sensor drivers are not started automatically. Enable each type using its [corresponding parameter](https://px4.gitbook.io/px4-user-guide/advanced_config/parameters):

* **Sensirion SDP3X:** [SENS\_EN\_SDP3X](https://px4.gitbook.io/px4-user-guide/advanced_config/parameter_reference#SENS_EN_SDP3X)
* **TE MS4525:** [SENS\_EN\_MS4525DO](https://px4.gitbook.io/px4-user-guide/advanced_config/parameter_reference#SENS_EN_MS4525DO)
* **TE MS5525:** [SENS\_EN\_MS5525DS](https://px4.gitbook.io/px4-user-guide/advanced_config/parameter_reference#SENS_EN_MS5525DS)
* **Eagle Tree airspeed sensor:** [SENS\_EN\_ETSASPD](https://px4.gitbook.io/px4-user-guide/advanced_config/parameter_reference#SENS_EN_ETSASPD)

You should also check [ASPD\_PRIMARY](https://px4.gitbook.io/px4-user-guide/advanced_config/parameter_reference#ASPD_PRIMARY) is `1` (see next section - this is the default).

### Multiple Airspeed Sensors

If you have multiple airspeed sensors then you can select which sensor is *preferred* as the primary source using [ASPD\_PRIMARY](https://px4.gitbook.io/px4-user-guide/advanced_config/parameter_reference#ASPD_PRIMARY), where `1`, `2` and `3` reflect the order in which the airspeed sensors were started:

* `-1`: Disabled (no airspeed information used).
* `0`: Synthetic airspeed estimation (groundspeed minus windspeed)
* `1`: First airspeed sensor started (default)
* `2`: Second airspeed sensor started
* `3`: Third airspeed sensor started

The airspeed selector validates the indicated sensor *first* and only falls back to other sensors if the indicated sensor fails airspeed checks ([ASPD\_DO\_CHECKS](https://px4.gitbook.io/px4-user-guide/advanced_config/parameter_reference#ASPD_DO_CHECKS) is used to configure the checks).

The selected sensor is then used to supply data to the estimator (EKF2). The EKF fuses the airspeed data if it's above [EKF2\_ARSP\_THR](https://px4.gitbook.io/px4-user-guide/advanced_config/parameter_reference#EKF2_ARSP_THR) and has a low innovation compared to groundspeed minus windspeed.

### Sensor-specific Configuration

Other than enabling the sensor, sensor-specific configuration is often not required. If it is needed, it should be covered in the appropriate sensor page (for example [TFSLOT > Configuration](https://px4.gitbook.io/px4-user-guide/drone_parts/peripherals/airspeed_tfslot#configuration)).

The specific configuration for sensors that do not have a separate page is listed below:

* **Sensirion SDP3X:** [CAL\_AIR\_CMODEL](https://px4.gitbook.io/px4-user-guide/advanced_config/parameter_reference#CAL_AIR_CMODEL) (provides overview of required settings), [CAL\_AIR\_TUBED\_MM](https://px4.gitbook.io/px4-user-guide/advanced_config/parameter_reference#CAL_AIR_TUBED_MM), [CAL\_AIR\_TUBELEN](https://px4.gitbook.io/px4-user-guide/advanced_config/parameter_reference#CAL_AIR_TUBELEN).

## Calibration

Airspeed sensors should be calibrated by following the instructions: [Basic Configuration > Airspeed](https://px4.gitbook.io/px4-user-guide/config/airspeed).

## Developer Information

* [Airspeed drivers](https://github.com/PX4/PX4-Autopilot/tree/main/src/drivers/differential_pressure) (source code)
