Constant bad OptFlow health message?

Hi all,
I am now integrating a PX4 flow sensor onto my quad, running off of 5v BEC power and connected to an i2c hub on my 2.1 cube.

I am getting constant Bad OptFlow health messages on MP, and I cannot take off
I have done everything the setup guides told me to do, installation wise, firmware installations (first with QGC, focusing the lens, and then installing the KLT firmware) and I have gone through all of the parameter changes needed (setting positioning to ignore GPS, enabling flow, etc) and nothing, bad optflow health any time I power on my drone and connect to Mission Planner…

The weird thing is it’s also giving me a “check range finder” error now, which wasn’t present before.

Any information or help would be appreciated

1 Like

Here is an image of my MP currently with the warnings

@rmackay9 can you provide me any insight into this issue? I am trying two different px4flow sensors (same brand) and not having any luck. I have one running with the default configuration from the manufacturer, just flashed with the KLT firmware… and I have another that I am soldering on to change the i2c address, but still no luck… in Mission Planner I have tried running it as all 7 possible options in the i2c address window… still no luck.

Is the Px4Flow connected to the I2C associated to the GPS connector ?
It is generally the one that you should use

1 Like

hey @ppoirier no it is connected to an i2c splitter which is connected to the i2c dedicated port on the mini carrier board of the cube. The here2 GPS is plugged into the GPS 2 8 pin port. I’m not sure how I could hook them both into the same i2c?

Also, if I disable the GPS, does the pixhawk ignore the external compass in the here2? Meaning: do I need to enable an internal compass in the pixhawk.

Yes you can share I2C 1 (that is the GPSport I2C port)

I checked on code there is address change for device, and a bus scan for bus 0 1 & 2.
Unfortunately I have no cube for test , but you can read a lot of issues related to selecting/connecting wrong I2C bus for this flight controler

1 Like

Nik, If your power up the FC with the usb cable only, do you still get the bad health comment? Are you seeing date in MP?

1 Like

Yes I do get bad health comment with just the USB plugged in, I think I got the sensor somewhat working, meaning that when I plug in the battery, the warning goes away and I see a data output in the OPT_X and OPT_Y fields, but I dont get any data when i am plugged in with just the USB cable.

The problem is now, when trying to fly with the sensor enabled and the GPS disabled, it still wanders a lot, and it seems to fight my RC inputs when I try to make corrections. @ppoirier

Yhe only data that ArduPilot is consuming comes from the I2C interface of PX4FLOW.
You should be able to calibrate according to the wiki , prividing you have a working rangefinder.

1 Like

@ppoirier I have tried the calibration, and I also have a working Lightware SF11 lidar, I did get an output graph through my data flash logs. I just am unsure if it’s any good and / or if I need to adjust anything. Can you take a look at these logs for me and tell me what you think? Maybe I just need to adjust something like the Flow scaler to make it work correctly.


Here are the two logs I am including:

@rmackay9 also tagging you in the hopes that you can review those logs I posted above ^ and let me know what you think on this issue.

I spoke too soon, I plugged the drone back into MP again this morning and the BadOptFlow health message is back again, even with the battery plugged in. This sensor really seems like it doesn’t work very well at all

By the way, we are planning on releasing support for the CXOF Optical flow driver with Copter-3.6.4 which will start beta testing today or tomorrow.