Airspeed sensor calibration

Airspeed sensor calibration procedure is not clear:

3. Click the Airspeed sensor button.
4. Cover the sensor (i.e. with your hand). Do not touch the sensor (obstruct any holes) during calibration.
5. Click OK to start the calibration.
6. Blow across the sensor.
7. Wait for 2-3 seconds before removing the covering (calibration completes silently after several seconds)

So my questions are:

  • How to cover but don’t touch the sensor?
  • How to blow (in what direction and how strong)?
  • Do i need a blow in front hole in pitot tube or near the tube?
  • How to blow if sensor is covered?

Could someone make a video describing a process?

The airspeed calibration is actually very simple. It needs to read a stable baseline with 0 airspeed to determine an offset. You cup your hands over the pitot to make sure it’s not reading any wind (if outdoors). Indoors you could just leave it alone.

You then blow into the front both as a signal to end the calibration procedure AND a basic check to make sure the dynamic and static ports aren’t backwards.

Does that make more sense?

1 Like

What will happened if dynamic and static ports swapped? I.e. tubes connected in wrong order.

If the ports are swapped then the sensor will read a large negative differential pressure. If this happens during calibration it will abort with an error. If this happens later on the airspeed will never be > 0 and AUTO FW flight will fail badly (diving for airspeed).

airspeed ~= sqrt(2 * p / rho) where p is the differential pressure and rho is the air density.

If you press against the pitot it will hold pressure, which is why you need to cover it without touching. However after calibration a nice quick test is to press your finger against the tip of the pitot and hold it. You should see the system read and hold a positive airspeed until you release.

Is it normal that after calibration it shows constant noise ~2m/s? I’ve calibrated and tested it indoor without any wind.

Yes that’s more or less normal for sensors like the MS4525 or MS5525. The newer Drotek SDP3x ( will be much better in this regard.

Keep in mind that airspeed is the sqrt of the difference in pressure, so a small offset like this around zero airspeed becomes negligible at cruise.

Hi, it does make sense the way you explain it, but the instructions in QGC and the wiki are not clear.
I would like to have another option. The second part (verifying that the tubes are not swapped) is not applicable for daily calibrations (zeroing).
I feel silly blowing in my pitot tube every day. Can we make a quick zero option where we bag the pitot, zero and then press. The current calibration can be used for new builds.

What do you think?

I’ve tried to swap ports (using sdp3x sensor) and got interesting result. It continue works, but show smaller airspeed. I.e when i blow in one tube it shows 70 m/s airspeed, to another - 20m/s airspeed.

Also (it seems, but i’m not sure) that drotek docs show invalid (swapped) tube connections. And it has a reverse (GND DATA CLK 5V instead of 5V CLK DATA GND) I2C pinout (compared to normal pixhawk).

Critical tip for novices:

In blowing, blow shortly by your mouth in front of the pitot tube into the tip of the pitot tube parallel (not perpendicular) to the pitot tube.

Shamefully cross-posting with the Ardupilot forum, to ask a question on the MS5525DSO that is pretty blatant to me but haven’t found any indication of an answer online.

The sensor is supposed to be factory calibrated against temperature. In fact, one of the calibration coefficients is the pressure offset (C2).
If this is so, then why do we need to calibrate it on every boot?

To be fair, ARSPD_OFFSET values on this thread have been reported as high as around 100, and in my experience I get as high as 210 (Pa) and these are withing the accuracy spec. of the sensor (1.25%Full Scale Span).

But if it is so, I shudder to think what this sensor would spew out if the calibration coefficients are not used.

Do you find it normal for the sensor to have so large zero offset, given its advertised calibration?

Do you find it normal for the sensor to have so large zero offset, given its advertised calibration?

It never hurts to take a closer look and verify there isn’t a mistake in the driver or sensor configuration, but it doesn’t necessarily surprise me. These are all relatively inexpensive sensors that might only have a 2 point factory correction.

Do you have any flight data? Any anecdata about how the offset is changing over time?

I’ll try to collect drift over time data for the same sensor. And I have also verified that stability over temperature is quite good.

But that initial, out-of-the-box offset is too large and raises questions. I regularly get 200 or even 300 in new device samples.

What I suspect is that the action of mounting the sensor on the BoB by the retailer is the cause of that (otherwise stable) offset.
The sensor could be picking up offset from the thermal soldering process or because of the lead strain when solder cools down. It’s a guess at least…