Arduplane BLHELI Telemetry

Hey all
Looking for input on getting BLHeli telemetry going on a VTOL I am building. This is my first foray into VTOL’s so running into a few problems.
I have a bird with 4 lift motors and 1 tractor motor.
If I run the BLHeli configurator I get access to the tractor motor only.
If I boot the machine up and check it’s status in Mission planner I see telemetry on the 4 lift motors not the tractor motor. One thing I notice is that there are entries for esc’s 1 thru 8…5 thru 8 are reporting. So is channel 9 missing.
I know I am missing something but not sure what
The lift motors are on channels 5-8 with the tractor on 9.
I see in the message center on MP that channels 5-8 are dshot 150 but 9 -12 are pwm. S

As for passthru. I know it’s not perfect and doesn’t always work so not overly concerned. But I do want motor telemetry if I can get it.


What flight controller is it?
And upload the param file please

Qiotek Zealot F427

Falcon Param 01-19-2023.txt (24.3 KB)

Hey Shawn
I am pretty sure that I had telemetry when the motor was on channel 3.
I am wondering if I should move it back to channel 3 and turn off the BLheli for that channel. Just a thought.

Only if you had chan 1-4 (common timer group) set to Dshot.

Then you for sure won’t have telemetry.

What ESC’s? You might want to try Dshot600 (Q_M_PWM_TYPE) and set these back to 0
Explicitly setting these isn’t usually required.

DSHOT capable connections are
1/2/3/4 (4,19,70,21 Aileron,Elevator,MOTOR!,rudder)
5/6/7/8 (33,34,35,36 Q Motors)
9/10/11/12 (70 forward motor)
Outputs 13 and 14 support only PWM.

I bet having the motor set on both servo3 and servo9 is the problem.

Also for the copter “Q” params set them like you would for a quad copter, using the same tools, such as
Q_M_BAT_VOLT* and Q_M_THST_EXPO params
except probably leave the Q_A_ACCEL values at their defaults

That’s a good bet :grinning:

Hey Boyz.
First thanks again for all your support it’s really appreciated.
Nice catch on the channel 3 still set to throttle. I thought I had changed that but must not have committed it.
That said here are my observations.
I set SERVO_BLH_MASK to 0 as suggested as well as setting those other few settings back to 0 as Dave suggested.
So after doing that I rebooted and tested it.
I still had telemetry for the the quad motors but not the tractor motor.
I then tried the Blheli config tool and got no esc’s. So I set the mask back to 256 which is channel 9 and rebooted. Then I saw the ESC for the tractor motor with the Blheli config tool. Still no access to the copter motors. This I am less concerned with.
I also set it to Dshoot 600 but that had no effect.
So any other suggestions would be appreciated.
I still see it declare that the higher channels are 9-14 are PWM and not Dshot.

So that’s where I am.
I confess I find this plane stuff weird. The machine when powered up moves its controller surfaces slightly just while its sitting there.My guess is that since it’s not flying the pid loop isn’t operating right. But then suddenly it starts making noise and the control surfaces start moving in a more energetic fashion. I find that really strange lol.

Edit: I checked continuity and its fine.
I resoldered the connection just in case but no change.
I will try a 4 way connection to the lift motors just to adjust their direction but this telemetry is annoying.

I found these two gems in the Plane doco:

but for planes, set SERVO_BLH_MASK to enable pass-through on the appropriate servo outputs

On Plane, all other motors use Normal (PWM) protocol. However, in Plane, any motor, like the traditional fixed wing’s main motor or Dual Motor Tailsitters (SERVOx_FUNCTION = 70 throttle, 73 throttle left and / or 74 throttle right), can be changed to a protocol other than PWM using the SERVO_BLH_MASK parameter to specify the output number of the motor together with the SERVO_BLH_OTYPE parameter to select the protocol of these motors independently of that selected for the copter function motors.

So you will have to set

  • SERVO_BLH_MASK for the passthough to work, and to specify the throttle motor is DSHOT
  • SERVO_BLH_OTYPE also set to DSHOT600, same as Q_M_PWM_TYPE
  • Also I think you need SERVO_DSHOT_ESC,1

I would use the same DSHOT baud rate for all motors, just to make sure I’m not hitting some undiscovered bug with loop rates or something funny. I’m not saying the words “DSHOT rate” here because that means something other than the baud rate in Ardupilot.

If you did all the BLHELI settings already, you technically dont need passthough, provided you get all the ESC telem data in Ardupilot (MissionPlanner Status tab)

Hey Shawn
I read the same today. I had set the Mask and o type…no joy.
Set the mask to 256 for the throttle on channel 9 and O type to 4 and also to 6. No joy.
Set the mask to 496 which is channels 5 6 7 8 9 and the O type…and no joy.
I tried to wipe the unit today and reload the firmware but that made no difference.

I can use the BLheli config tool to access the tractor motor but nothing else.
IF I turn off the Mask I can’t get to the tractor motor…so pass thru works to it but not the other ESC…this I don’t really care so much about. But telemetry is important to me.

It’s really odd.
I still see 9 - 12 as pwm in the status messages…perhaps thats normal. Not sure

Messages should definitely show the relevant servo outputs as DSHOT.

I think you mask at 496 and O type at 6 would be correct.

Set LOG_DISARMED for a bit and upload the .bin log and we can have a look aver that while we think some more…

So apart from passthrough being a bit “one motor / no motors” the DSHOT telem is not appearing at the serial port, right?

That is what it seems to be.
I am going to try the log. Something that comes to mind is a possible bug in Mission Planner.
I had an issue once before and so I will check the logs and see if it’s write out esc data for the ESC and just not reporting it.

With Throttle on 9 did you try a BLH Mask for Chan 9-12 (all chans on Timer 4) and an Otype of Dshot600?

I know I said to set these to 0 but I think Shawn is right about Plane requirements for these.

Son of a beachnut chewing gum. Chew it all day long.

I just pulled a log file and I was right.
MP isn’t displaying the telemetry, but the log has it.

I will try it again to make sure I am not talking out of my butt.

Here is a bin file.

I need to check the MP version in case it’s back leveled.

Dshot 5-12 and telemetry for 5 ESC’s in the log. Looks good.

yes it looks great. Thank you again for all your help. I imagine I will have dozens more questions.
I will check to see if the field tablet is back leveled.

If passthru doesn’t work for all ESC’s try 4080 (chan 5-12) for the Mask.

Yes will give that a try tomorrow.
I need to get the FC fastened down and the wiring tidied up.
Also get one more spinning the right direction.

So progress.

Morning Dave
So I tried 4080 on the mask and no go. The copter motors funny enough would not respond.
What was interesting was that if I used the BLheli config tool it said there where 8 ESC but only could pull data for the tractor motor.
So I set it back to 256 and the quad motors worked fine. I still have one that spins in the wrong direction but I can fix that easy enough.
I did check the MP version and it’s the latest and greatest so it appears to be a fault in Mission Planner.
Again I pulled a log and the ESC telemetry is in the log for 5 motors.
I will see if this needs to be posted as a bug.

I need to get the wiring cleaned up, the motor spinning correctly then it’s just reviewing the config and tweaking all the control surfaces to make sure they are in the right place when the controls are centered.

Thanks again for you help