A year or two I had put together a similar configuration with Arducopter 3.6 and found that I needed to use the AUX out ports on the board which support FMU if I wanted to have DShot and Passthru support. Checking the page at BLHeli32 and BLHeli_S ESCs — Copter documentation I see there used to be a warning
DShot and BLHeli_32 features are currently only supported on the “FMU” outputs of your autopilot. Boards with IO coprocessors like :ref:Pixhawk <common-pixhawk-overview> and :ref:The Cube <common-thecube-overview> provide DShot and BLHeli_32 support only on the AUX OUT ports that are directly driven by the board’s main processor.
Does this mean that if I wire my ESCs to the M1,M2,M3,M4 I/O PWM OUT signal pads on the Pixhawk 4 power supply board that I will be able to use BLHeli32 DShot and Passthru?
From the description on the PR, it sounds like the passthru functionality is not possible over the I/O PWM OUT signal pads because they are output only.
What will not work:
DSHOT600 and DSHOT 1200, padding must be checked
BlHeli pass through because of the hardware that is used (only output signals are possible)
Thanks for the info, I know how to proceed with my build now.
Regardless of Passthough functionality Dshot is not really working on the IOMCU either even with the version in the PR. At least that was my experience with a version complied for a Pixhawk. If it was working it would be front page news!
That video is not what this thread is about. BLHeli_32 Pass thru and Dshot work fine with BlHeli_32 ESC’s when configured on the FMU outputs. This thread is about it working on the IOMCU outputs.
Hi, Thanks. But, if you don’t mind me ask, how do you configure the ESCs on the FMU outputs?! I saw the first question on top and got interested. I also have the Tekko32 ESC, which come with a “TX” pin. But, which port with “RX” on the Pixhawk-4 can be configured to accept that connection? Thanks a bunch.
Hi, Thanks for the info., I am going over them again. Except I have a Pixhawk-4 and that is somewhat different. So, I am experimenting. I’ll let you know.
I see the Parameters set for all the BLH and SERVO and I have connected the Pixhawk-4 to the FMU/PWM OUT port to the PM07 power management Board FMU/PWM IN. However, it seems the “TX” pin on each ESC should be connected to a “RX” on one of the ports on the Pixhawk-4. I connected it to the UART & I2C B port pin#3. That is the only “RX” that made sense. But How to configure that in the Ardupilot?! Is that necessary for BLHeliSuite32 to see the ESCs?!
Here is what I get in the messages on the Ardupilot;
12/22/2020 6:11:17 PM : Frame: QUAD
12/22/2020 6:11:17 PM : RCOut: PWM:1-8 DS1200:9-12 PWM:13-16
12/22/2020 6:11:17 PM : fmuv5 001D0039 34385119 39313933
12/22/2020 6:11:17 PM : ChibiOS: d4fce84e
12/22/2020 6:11:17 PM : ArduCopter V4.0.5 (3f6b43e3)
12/22/2020 6:11:15 PM : Frame: QUAD
12/22/2020 6:11:15 PM : RCOut: PWM:1-8 DS1200:9-12 PWM:13-16
12/22/2020 6:11:15 PM : fmuv5 001D0039 34385119 39313933
12/22/2020 6:11:15 PM : ChibiOS: d4fce84e
12/22/2020 6:11:15 PM : ArduCopter V4.0.5 (3f6b43e3)
1st Don’t use Dhsot1200. Start at Dshot150. Tie all of the ESC Tx wires together and connect them to an available UART Rx. Then set that UART protocol (Serialx_PROTOCOL) to ESC Telemetry (16).
The “TX” from each Motor is connected together and I connected them to the “RX” on the “UART & I2C B” port pin#3 on Pixhawk-4. Have not found the ESC Telemetry (16) yet. Below are the settings and the messages I have now. Thanks.
I don’t where you came up with those parameters.
Leave SERVO_BLH_AUTO at 1 and all else to default. You can’t run a telemetry rate of 350Hz (set it back to 10).
Are where are the Serial port parameters I said to set? The port you have connected to is Serial 4 which you will find in the configuration guide for that FC:
I set the UART to "ESC Telemetry Protocol, the “InvertRX” on Serial-4 and lowered the Servo_BLH_Trate to 10. The BLH_MASK is still there. The Servo9-12 are also set to Value 33-36 as well. Thanks again ;]