New SDP33 Airspeed Sensor and Ardpuplane

Others are working. He recognizes the sensor somehow, because he is not giving fault message. When SDA/SLC would be crossed, he would give “bad airspeed health” I assume.

I think you use a preconfigured I2C cable with JST-GH 4 pin connectors on both sides, so you can not swap anything with that cable.

Just for information: I soldered a JST-GH to DF13 cable since i use a pixhawk 1:
1 (red) VCC +5V
2 (black) SCL +3.3
3 (black) SDA +3.3
4 (black) GND GND

I just checked the messages if you did not connect the sensors:
There is no error message ! (ArduPlane V3.8.5beta1 )

if it also does not work with PX4 stack, i would turn to drotek

Regards Rolf

1 Like

Hi Rolf,

I tested the sensor again. With AP3.8.5B1 I cant get it to work, but with PX4 1.7.4 it works! Same wiring. Tested on PH2.1

Even checked the logs and airspeed reading is always zero.

@tridge Must be some issue with the code !? Changed I2C address?
How can I help fixing this?


Hi David,

perhaps it works with the other I2C-Bus of PH2.1 ?


Just tried AP3.8.5B2 and its now working on PH1 and PH2

PH1: just set type to 6
PH2: also set BUS to 0

Benchtesting the SDP33 vs 4525

The box is for pressure distribution. Static ports are free and on the outside. tube on the left is for applying pressure.

LOG File:

SDP33 Green
4525 Red

Q: Why the steps of the green line in the last picture? Is this because of reduction of resolution for logging or does the sensor not output higher resolution?

I’ve got the latest one of these. Electronically it works, but the following pointers might help others. The 4 wires away from the sensor on mine are separated, with pin 1 marked with a grey strip. the wiring is this way: +3.3v, s london, sda, grd, with the 3.3v (or 5v, both work) on pin 1. As the sensor is sealed in, you cannot easily refer to the pcb. the i2c must be set to 100khz to run correctly, and the implementation does not ack reads so breaking some i2c scanners. (it appears on address 0x21 on mine. writing 0x21, 0x36, 0x7c (version request command) however gets acked. the ardupilot driver (when set to correct parameter, i believe 6) should then pick it up automatically and output a message during bootup.

Hopefully this should assist anyone trouble shooting this sensor, I nearly sent it back as it appeared not to work.

Great measuring device. The low resolution of the data recording at low speed I noticed too.

It does - the telemetry-datas are ok:


is there any good sensor for above 50m/s ??

SDP33 issue report

So what are the known issues with this sensor? Is it yet safe to fly with it?

There’s a mention of this in the Plane 3.8.5 release notes

liang-tang has found what looks to be a floating point precision problem (which will only really manifest itself at low speeds), and I’ve encountered what looks to be missing correction factors for a variety of atmospheric conditions (primarily pressure drop in the hose, which is being badly aggravated by a fairly high density altitude)

EDIT: For now until we’ve chased these things down I’d consider the driver experimental and recommend using caution for now. (I encountered conditions where the sensor was off by 50% for me, so that needs to be resolved before I can endorse it).

4.23 test log

4.25 test log
ARSP is MS4525,ASP2 is SPD33

1 Like

The thing with this sensor is that its not really a differential pressure sensor, because this sensor needs an airflow through it to be able to measure.
Basically the sensor measures the airflow trough it via the cooling of an heating element by the airflow. This is kind of the same as with an hot wire anemometer.

Here is an article from the manufacturer on how that works:

Most important:

The integrated calibration is implemented so that the flow can be
correctly measured over the entire temperature range. Consequently, no further temperature compensation is
required for the conversion of the differential pressure output signal to mass or volume flow.

Do we still compensate this sensor for altitude and temperature?

@palm369 You are correct about how the sensor works. But because we are not interested in a mass flow number, but a differential pressure number you do require an external barometer (which we of course have on the autopilot), but any errors with this will propagate to the airspeed driver. Further the sensor is designed to be used without tubing. When used with tubing you need to compensate for the pressure drop in the hose, which does scale with altitude (and temperature).


The main advantage of the special measuring method of this sensor is the high sensitivity, reliability and validity at low airspeeds (less than 10-12 m/s). For our tiltrotor VTOL “Mozart” with stallspeed at about 9 m/s, the measurement accuracy in this area together with the unnecessary offset calibration is a huge advantage. This of course says nothing about advantages or disadvantages of the SDP33 at higher speeds, where the usual pressure difference sensors can exploit their advantages.


Thanks for the link. Didn’t know that. Might be a real problem.
Is it at all possible to correct the measurement over the whole speeds and altitudes we fly at?
Maybe we can do the Airspeed calibration at two different speeds so we get the exponent of the correction function?
This is really complicated… :confounded:

As I have this speed sensor here I wonder if there is some progress on the issues ? As I am not experienced I will follow the recommendation not to use it untill it is safe.