Airspeed I2C MS4525D0 Not Working!

After updating from FW 4.1.7 into FW 4.2 beta5 the Airspeed sensor is not working. When arming shows the message “bad health” and the airspeed values are 0.
This was a straight forward update with no parameters change.
If I download back again the FW 4.1.7 It’s working!

please post a log of it working with 4.1.7 and not working with 4.2beta

Hi, I have also this kind of problem in 4.2 official. To my side it’s not a constant problem. Sometimes it works sometimes not…At the beginning I though that my sensor or the cable was dead so I tested it with an esp32 programmed with arduino using this lib GitHub - bolderflight/ms4525do: Arduino and CMake library for communicating with MS4525DO pressure transducers. and seen that both airspeed and cable was good . When airspeed is not seen by arduplane, I reboot the FC and try to plug the airspeed in different I2C plugs. I use a CUAV V5 NANO having 3 I2C free ports (+1 used by GPS+MAG). I don’t have problems with the MAG that is on the same I2C bus. Maybe it is a problem on the I2C detection code in Arduplane ? My sensor use the 0x28 address.

arduino output (pressure temp):

When it does not work:


When it works:

Check the signal quality on the i2c interface, it must meet the signal strength requirements. For example, for Holybro Pixhawk it is a level of 3.3 V.

The waveform must be correct without peak emissions along the rise and fall fronts.

A suitable airspeed sensor that is recommended by Arduplane, such as Holybro Digital Air Speed Sensor,Digital Air Speed Sensor (holybro.com). If you have a 5 V sensor then it is better to use the PCA9306 dual bidirectional I2C−bus voltage−level translator.



I use the Matek airspeed I2C. I don’t think it comes from it as lastly I discovered that when it does not work I have to disable it from Mission Planner (declare none as Airspeed sensor), Reboot, then enable it again and then it works. I think that if it was a voltage level it should never work ?

What does it show?

No errors…
image
Today it works so it is a tlog of previous attempt from yesterday when airspeed wasn’t detected. Maybe I2C errors are not recorded into tlog ? As I said, when I tried to fly yesterday, this error happened. So I disabled airspeed from Mission Planner Airspeed config screen, rebooted and enbled it again and then I was able to fly and today it still works…

happened again today. Still no I2C errors. Screenshot connected to FC:

Well after having tried lot of differents things to resolve this problem, it looks like I found a workaround that works at least for me: I enabled the second airspeed sensor ! As you can see in the following screenshot of parameters, it is obvious that my airspeed is sometimes detected as primary one and sometimes as secondary (devid is now set at both sensors). This explain why I felt it as a random problem and why I did not seen i2c errors. Since I did that, I did around 10 flights without problems. Does not means that it is definitely resolved so I will let you know if it would happen again.

Edit 06/17: Well finally did not solve the problem for a long time. I again have my Matek airspeed sensor randomly not detected at startup…Has anybody an idea on how troubleshot i2c in ardupilot ?
Thanks

The same problem here. The Mateksys ASPD-4525 reports on reset: “Airspeed1 not initialized, cannot cal”. Also in Setup/Mandatory Hardware/HW ID DevID=0, BusType=UNKNOWN, Bus 0, Address=0, Dev Type=0.
Arduplane V4.2.2, MatekF765-SE on Mission Planner.
I am almost running out of ideas.

@alex78 Hi Alex, is it working already?
By trial and error I got it working for 100% on Qgroundcontrol on Android (Airspeed checked on). But on MissionPlanner Android, I get the error: Prearm check :AHRS. This could be a different problem, but I don’t care because on the field I am using Qgroundcontrol.

What I changed:
AHRS_ORIENTATION
COMPASS_ORIENT
AHRS_WIND_MAX (4 m/s)
ARSPD_BUS (0, was 1)
ARSPD_PRIMARY (1, was 0)
ARSPD2_TYPE (1, was 0. I only have one sensor, but activated 2)
COMPASS_ENABLE (0, was 1. Not needed for Plane. I regret that)
COMPASS_EXTERNAL (2, was 1)
COMPASS_USE (0, was 1)

I tested outside the house on different FlightModes and seems ok, but I still have to maiden the glider. (ArtHobby Silent-E, 3.4 m.) The FC is hidden deep cramped inside the small fuselage. I preferred on other gliders the Flight modes THERMAL and RTL. Thermal is working great with a good ARSPD sensor.

2022-07-01 Ardupilot HW ID

This is what HW ID returns. 2 ARSPD sensors! Probably an I2C initializing problem that could have interfered with the compass??

Hi, unfortunately I burned my unit by trying to solve the problem (connected by error directly to vbat…) So I ordered another one but as prices increased so much that instead of the Matek one, I bought a noname 4525D. PCB seems just simpler (no 3v/5v option and less components). I did just one flight since I changed the airspeed and it was detected correctly. This does not mean that the problem will not appear again. So I will let you know.

I have the same issue. FC is Matek F765-SE. Airspeed sensor is the 4525. It was working fine in 4.1.0. Changed nothing except updated to 4.2. Now it always fails pre flight check and blowing on the tube results in no AS change.

edit: I started getting (incorrect, but working) readings. The ARSPD_TYPE was set to 2, instead of 1. I didn’t change it though… I wonder if there is an attempt at an automatic conversion of settings during firmware updates.