Micoair MTF-01 Flow + LIDAR as Proximity Sensor

It’s a rainy weekend here so I decided to try out a new hardware configuration.

I’m using one of my basic 5" copters with an Arkflow connected to the canbus for Rangefinder 1 and Flow. No issues there and I’m really enjoying that GPS transition script demo’d on the Wiki. Painless integration.

Well, I wanted to go a step further and try out another rangefinder as a forward-facing proximity sensor using the wiki instructions for Simple Object Avoidance.

I have a few different sensors on hand, but I wanted to try out the new Micoair MTF-01. Now, this sensor is a bit different than the I2C or MSP that I’m used to, and I followed the manufacturer’s guidance as well as some forum posts to get it working on Arducopter 4.5.1. It’s connected to the Matek’s RX1/TX1 (Serial2) option 1 Mavlink1.

As a sanity check, I changed my optic flow to Mavlink, marked the sensor as position 25 (facing down), and checked the status tab. All good! Everything’s working. I changed the settings back to my original setup and continued with the wiki to get my Avoid and PRX parameters setup.

That’s where I’m currently stuck at. With these parameters my Arkflow Rangefinder + Flow are showing up correctly in my status tab, but I get a PreArm Warning PRX1: No Data

If anyone can spot a parameter that I’m wrong on, that would be an easy fix. But I’m also wondering if I can mix and match rangefinders (eg: dronecan + mavlink) and still leave PRX1_TYPE as 4 (rangefinder).

Anyways, thanks for your attention! I’m looking forward to trying to bounce this little quad off a while in althold mold once Prx is working.

Avoid Settings
AVD_ENABLE,0
AVOID_ACCEL_MAX,3
AVOID_ALT_MIN,0
AVOID_ANGLE_MAX,1000
AVOID_BACKUP_DZ,0.1
AVOID_BACKUP_SPD,0.75
AVOID_BEHAVE,1
AVOID_DIST_MAX,5
AVOID_ENABLE,2
AVOID_MARGIN,0.25

Proximity Settings

PRX_ALT_MIN,0.5
PRX_FILT,0.25
PRX_IGN_GND,1
PRX_LOG_RAW,0
PRX1_ADDR,0
PRX1_IGN_ANG1,0
PRX1_IGN_ANG2,0
PRX1_IGN_ANG3,0
PRX1_IGN_ANG4,0
PRX1_IGN_WID1,0
PRX1_IGN_WID2,0
PRX1_IGN_WID3,0
PRX1_IGN_WID4,0
PRX1_MAX,8
PRX1_MIN,0
PRX1_ORIENT,0
PRX1_TYPE,4
PRX1_YAW_CORR,0
PRX2_TYPE,0
PRX3_TYPE,0

Rangefinder 1 & 2 Settings
RNGFND1_ADDR,0
RNGFND1_FUNCTION,0
RNGFND1_GNDCLEAR,3
RNGFND1_MAX_CM,200
RNGFND1_MIN_CM,1
RNGFND1_OFFSET,0
RNGFND1_ORIENT,25
RNGFND1_PIN,-1
RNGFND1_POS_X,-0.089
RNGFND1_POS_Y,0.015
RNGFND1_POS_Z,0.017
RNGFND1_PWRRNG,0
RNGFND1_RMETRIC,1
RNGFND1_SCALING,3
RNGFND1_STOP_PIN,-1
RNGFND1_TYPE,24
RNGFND2_ADDR,0
RNGFND2_FUNCTION,0
RNGFND2_GNDCLEAR,10
RNGFND2_MAX_CM,800
RNGFND2_MIN_CM,2
RNGFND2_OFFSET,0
RNGFND2_ORIENT,0
RNGFND2_PIN,-1
RNGFND2_POS_X,0
RNGFND2_POS_Y,0
RNGFND2_POS_Z,0
RNGFND2_PWRRNG,0
RNGFND2_RMETRIC,1
RNGFND2_SCALING,3
RNGFND2_STOP_PIN,-1
RNGFND2_TYPE,10

MTF-01 Sensor Serial2 settings
SERIAL2_BAUD,115
SERIAL2_OPTIONS,1024
SERIAL2_PROTOCOL,1

Wanted to follow up with some more data. I checked against a few other variables to try and isolate the problem

For context, I’m using the Matek H743 bdshot firmware

  1. the sensor needs to be a separate system id than the aircraft. Example, aircraft sysid 2 and MTF-01 sysid 3.
  2. the presence of other rangefinders on other protocols doesn’t seem to matter. I had a rangefinder on canbus on one drone, and no other rangefinders on the other but it didnt affect PRX1 data.
  3. setting the rangefinder as 0 (forward) or 25 (downward) doesn’t affect the PRX1 data prearm
  4. this is not a 4.5 issue. I’ve tried 4.4 as well as 4.6 latest. Still getting prx1 prearm warning

I tried prx1 as both rangefinder and mavlink. No change!

So this does seem to be an MTF-01 issue.

I tried using the same aircraft with a TF-Luna and that was plug and play as a PRX set to rangefinder.