I’d tested the QioTek ASP5033 DroneCAN Airspeed and Compass Module with the compass working correctly but the airspeed sensor not. It isn’t directly recognized as a device.
I thought the same as you, that connecting the device with I2C, only is the compass available. But I connected the device to an Arduino and I found two I2C addresses.
The addresses found are:
Compass: 0x0D
Airspeed: 0x6D
I am using the flight controller MatekF405-TE, not the Speedybee F405, and I didn’t know if the firmware installed has the driver needed for the airspeed sensor, but I found that it was available, and also in the driver code there was the same I2C address I found before.
Address of the firmware installed, arduplane 4.4.4:
Firmware Plane stable-4.4.4 MatekF405-TE
Address of the driver code:
ASP5033 Driver Code
Also the needed configuration seemed correctly, with the airspeed type to 15 and the connected bus to 0
To discard different problems I started to make different tests:
1- The first one was to power supply all with a battery, getting the result that only the compass was working and available.
2- The second one was powering the module with another battery and power up the flight controller with another battery after few seconds when the module started to blink the led. In this case the compass and airspeed was available and working.
3- The third test was to power up the module and the flight controller at same time, but I got the same results on the first test, with only the compass working and available.
4- I made another test like the second one, in this case, after the compass and airspeed was working and available, I powered down and powered up again the FC but without powering down the module. In this case, after doing that, the compass was the only working and available.
I don’t know how to solve the problem, as connecting first the module and await a time before connecting the FC is not a solution. I don’t know if is a problem of the driver at initialization or the firmware of the module.