Pixhawk (fmuv2) - BLHeli_32 Passthrought

The Tricopter config that I would use works fine with passthrough and Motor Test in both BLHeliSuite and Mission Planner (1 motor connected to Chan 9). Outputs configured as shown and attached parameter file for reference. Pixhawk 1 and a BLHeli_32 ESC 32.7 firmware using the latest Suite 32.8. I will add that I have a BLHeli_32 4in1 that had 32.74 and now 32.8 firmware and passthrough does not work.
Note: I flashed this ESC to 32.8 and it still works so the problem with my other ESC is unrelated to the firmware version.

Tri parameters.param (16.9 KB)

Have just tried with dshot300 and SERIAL_PASSTIMO set up at 30 and now i could connect to the ESC, but i’m getting the weirdest behaviour. If i try to check for ESCs while pixhawk is flashing Blue ( Disarmed, no GPS lock found), the check fails and the board goes back to flashing yellow (radio failsafe - dont have a radio connected). Now, i try to connect during this state (radio failsafe) and i succesfully connect to the ESC (weird that the BLHeliSuite32 shows me the ESC as being the #3 when it is connected to AUX pin 1 - set as motor1 and as #4 when it is connected to AUX pin 2 - set as motor2). I can write successfully to the ESC (tried by changing the LEDs). Everything seems ok. The next very weird behaviour is that when i go to the Motor tab in BLHeliSuite32, the pixhawk seems to be disconnecting the serial (goes back to radio failsafe and disconnects from Serial). I then have to go through all the steps again, connect pixhawk in BLHeliSuite32, search for ESC (which fails), search when pixhawk is in radio failsafe, which finds the ESC successfully and again, going to motor tab disconnects the pixhawk from serial (this behaviour happens both when i use the baudrate set as 57600 and as 115200).

Have just loaded your params to my pixhawk - without any change - and the only difference now is that the ESC is showing up in BLHeliSuite32 as being #2 when connected to AUX pin 9 - which you seem to have setup as being motor 1 also as i had. All the rest behaviours still happening, being that i’m not able to go to motor tab (dont seem that dshot150 and dshot300 made any difference).

Another thing you mentioned, about the upgrade of firmware to 32.8, my ESC came stock with 32.7 and yesterday i upgraded to 32.8 also (by using arduino, because with pixhawk i wasn’t being able to do - i thought the problem could be from 32.7).

Also, maybe if it helps, i’m using iFlight Succex 55a ESC.

Right, but in my case the Motor Tab is working. So it’s recognized but it doesn’t spin when using the Motor 2 slider in the Motor Tab?
As I mentioned I have ESC’s that don’t work with passthrough at all. The latest 4in1 from Aikon for example does not. I flash Betaflight to the board (it’s a Matek H743) to configure the ESC’s and then back to Ardupilot. Essentially the same thing you are doing with the Ardiuno.

No, the motor tab isnt working. The same thing happens as described in my reply to xfacta. By going to the motor tab, pixhawk disconnects itself from serial port. And is usual when you have a single ESC connected for it to show up as #2 or #3, etc (shouldnt be always #1?)?

So, i would be better off buying a cheap betaflight FC if i want to use passthrough? Why does passthrough work so well with betaflight but not with ardupilot? Is it possible to flash betaflight on pixhawk (can only find how to flash px4 ir ardupilot on betaflight FC)?


Unknown, but one theory is there is a ton more stuff in the code path with Ardupilot. Read the thread on bi-directional Dshot and you will see some odd stuff going on having to do with timing. I realize we are not talking about BD shot here but the issues may be similar. There was an interesting dialog between an Ardu Dev and the BLHeli_32 dude. Not in that thread.

Regarding a cheap BF board for ESC programming, I have one of those. An old Naze32.

No, no BF target for Pixhawk.

So, the conclusion is that my problem is due to the fact that passthrough with ardupilot isnt that great (and it seems to vary from board to board and ESC to ESC), am i correct?

Can i control the motors from mission planner (im aware this question isnt related to this topic, which hardware), for testing purposes? Or only with an RC?

And thanks for all the help

There is Motor Test but I assume you have run that. This will run the motors but it’s just used for testing operation, order, direction and limits.

Is Motor Test’s throtle the real throtle the motor would receive in real flight? I’m asking this because using throtle at 50% I get like 10% of what i’m supposed to be getting (a 10inch prop consuming just 1.5A at 11.1V at 50% throtle is very strange - the problem seems very similar to this one, T-Motors BLHeli_32 - ArduCopter / Copter 3.5 - ArduPilot Discourse, but i have low rpm protection turned off).

It’s essentially unprocessed passthrough. Functionally it’s the same as Test Motors in BLHeliSuite but it respects configured motor order.

So, there is no reason for me to be getting 10% or even less of the supposed thrust for the same throttle that is shown in charts with the same motor and same propeller, correct? What can i have missed in this interface between mission planner/ardupilot/pixhawk/esc/motor?


Nothing to see there other than I don’t use Current Protection. The fact that it see’s only one ESC is similar to one of my setups using a Matek H743 and an Aikon 4in1 on 32.8. However another quad with a Kakute F7 Mini and an Ori32 4in1 on 32.8 works perfectly with the same configuration in Arducopter. Both running the latest 4.1.0-dev version. I just accept this and hope a future version of Copter will address it.

For this purpose, I only have one motor connected. Very strange then that i’m getting only 10% of the supposed thrust/current with the given throttle (from Motor test). Can i debug this in other way? Since i’m not able to run the Motor Test from BLHeliSuite32 yet…

Post your parameter file, let’s take a look. And it won’t run in the Suite because it’s not recognizing a protocol. This is the same problem I have. Also only 2 of the 4 ESC’s are recognized this is why I thought yours only showing 1 was similar.

The parameter file from pixhawk? If is this, i posted it previously (same file still).
Thanks for your help

Ah right sorry. I forgot we had been there and done that. If you configure it for PWM (MOT_PWM_TYPE 0) rather than Dshot does it run properly in Mission Planners Motor Test?

Haven’t tried it. At this moment, after searching online, think is a problem of the ESC’s timing, so i think i shouldn’t pursuit help on this thread/forum, just because it isn’t the point of this forum - seems a hardware problem but related to ESC/motor and not pixhawk.

But, just for future reference, here is the video of what is happening at this moment (change of motor seems to have helped in the matter of “lack of thrust”, being that the motor intensifies this bad behaviour - both motors i tried are brand new) - Don’t know if any of these problens can be associated with the problems i’m having with the passthrough, but the problem seems to be from the ESC (it must be a defectuous unit, which works great most of the time xD).

(couldn’t attach the video)
Here is the link: https://streamable.com/843vp5

I have seen/heard that happen when 1 of the 3 motor leads are open running on 2 phases. I don’t know, maybe it is a defective ESC.

Oh really? They seem all to be connected alright and all solders seem good also. With what you are describing, it only happens above a certain throttle treshold? In the video, for example, under 35% throttle everything seems ok and the problem only seems to occur above this treshold.

Have just tried out disconnecting one of the motor connectors, and the motor makes a different sound. So, i guess it isn’t from the motor connections in this case

OK, just a thought as I encountered this recently. The wire had broken inside the shrink tube.

1 Like