Airspeed Sensor 4525DO

About I2C and Driver

MS4525DO is a digital airspeed sensor that typically uses I2C protocol as an interface. The I2C device address can be found by looking up the specific sensor type with the address table on the datasheet.

 

The sensor actually doesn’t produce the digital information of airspeed itself, but the sensor produces high-performance digital output pressure (14bit) and temperature(11bit). The airspeed of the aircraft can be calculated using the following formula:

 

The way how the airspeed is calculated and the outputs that the sensor produces are the difference between the digital sensor and the analog sensor. I think the analog airspeed sensor actually outputs the voltage difference, and use the scaled voltage difference you could know the differential pressure to calculate airspeed. However, for digital airspeed sensors, the output is digital, so we scale the digital output in a certain way such that we can get differential pressure.

Something I found is that analog sensors are becoming hard to obtain since digital sensors nowadays are cheaper, more stable, and more accurate.

Hardware setup

This is what an airspeed sensor looks like. It always comes with a PCB-mounted pressure transducer, a short wire, a rubber tube, and a pitot tube.

 

The pitot tube in my understanding is a smart simple structure that separates out the dynamic pressure and static pressure from incoming air.

The dynamic pressure should come out from the straight part of the tube and be connected to the top port of the transducer. The static pressure should come out from the branch of the pitot tube and be connected to the bottom port of the transducer using a rubber tube.

 

To secure the airspeed sensor on your aircraft, a 2-cm clearance from the side hole of the pitot tube to where the pitot is covered in the foam needs to be checked. Otherwise, the hole can be stuffed and the airspeed sensor won’t function as expected.

 

I think where the airspeed is mounted doesn’t make much of a difference, we just have to make sure the pitot is pointing in the same direction as the front of the aircraft is pointing. But I saw a lot of people bury the pitot inside the nose of the plane, I guess the reason behind that is because of the symmetry. It would look nicer, and it kind of eliminates the bias if two sides of the body receive different pressure.

Ardupilot configuration

The following paragraph is not reliable since I had never configured an airspeed sensor on the mission planner myself. Total delusion. But I guess the general procedure would be:

  1. connect the servo cable to one of the I2C bus inputs on Pixhawk.

  2. In the mission planner, go to initial setup → optional hardware → airspeed

  3. In the airspeed panel, check enable, check use airspeed, and select the correct pin where the airspeed is connected to

  4. The airspeed showing on the data screen you should see the airspeed showing up now, but it might not be accurate. Therefore, we need to calibrate the sensor. To do this, in the flight data screen → actions → in one of the dropdown boxes, select preflight calibration → click do action

 

Resources:

MS4525DO datasheet: https://www.te.com/commerce/DocumentDelivery/DDEController?Action=showdoc&DocId=Data+SheetMS4525DOB2pdfEnglishENG_DS_MS4525DO_B2.pdfCAT-BLPS0002

PX4 Ardupilot Airspeed Source Code: https://github.com/PX4/PX4-Autopilot/tree/main/src/drivers/differential_pressure

How to set up airspeed sensor on your plane: https://www.youtube.com/watch?v=4786O2JjFvA&ab_channel=DennisBaldwin