Additional Tuning

@xfacta I would like your assistance with setting up Cube Orange and DSHOT to possible use BLEHLI on my ESCs. Need to be schooled on this for sure.

Also, Thanks for the help you and others have provide on this forum!

First thing to do is move the motor signal wires from MAIN OUT 1,2,3,4 over to corresponding AUX OUT 1,2,3,4

And go into MissionPlanner / Setup / Servo output
Change the Function “Motor 1” from Servo 1 to Servo 9, and similar for the rest

This

To this

Go into MissionPlanner / Config / Full Parameter Tree
and set
MOT_PWM_TYPE,6
SERVO_BLH_AUTO,1

Reboot the flight controller after all that…

Reconnect and check that the Servo Output screen looks as intended, motors on position 9 to 12.
In MissionPlanner / Data / Messages tab you should see
image

Now we need to make a choice:
A) use the bi-directional DSHOT firmware in the Cube and ONLY get RPM data (simplest option)
B) join the ESC telemetry wires all together and connect to a spare RX pin in Telem2 or GPS2 and get ALL the ESC data (ideal, but extra wiring)

Option B also needs
SERIAL4_OPTIONS,16
SERIAL4_PROTOCOL,16
but advise which serial port you will use so we can check/adjust those options. I advise leaving Telem1 port specifically for a telemetry radio if ever required (or already fitted), and use GPS2 for the ESC data since that will be the least likely port needed for something else, a second GPS is rare for hobby use.

Here’s the pinouts (same as Cube Black)
https://ardupilot.org/copter/docs/common-thecube-overview.html

Here’s how to install the Bi-Directional DSHOT firmware, you can do this no matter which of option A) or B) you choose
In MissionPlanner click Disconnect and go to Setup \ Firmware
Click on a multirotor image
In the next window that pops up, drop down the Platform selection and pick the Cube Orange with “-bdshot” in the name ( I only have a spare Pixhawk1, but you should get the idea)

image

Reconnect to MissionPlanner and set these:
SERVO_BLH_BDMASK,3840 (or use the popup window to select 9 through to 12)
INS_ACCEL_FILTER,10
INS_HNTCH_FREQ,50
INS_HNTCH_BW,25
INS_HNTCH_MODE,3
INS_HNTCH_REF,1
INS_LOG_BAT_MASK,1
INS_LOG_BAT_OPT,4

Lets see how you go with all that…
That should theoretically fly using bidirectional DSHOT and the Harmonic Notch Filter, along with your previous settings. You can save a param file and upload it here for us to check.

One of the next steps will be to download the BLHELI32 Suite if you havent already.
Just unzip it somewhere convenient and you can just run the .exe , no need to install it.

Pick the Betaflight interface, then try some available COM port (bottom left) and Connect
There should be at least two COM ports listed, and you just have to find the one that works.
Then Read Setup

Be aware that in all this, and especially in BLHELI settings, Bidirectional 3D is NOT what we want. That means motors can stop and reverse direction mid-flight! That’s a whole other subject.

If you get into BLHELI settings make sure of these, then Write Setup

  • Low RPM Power Protect = OFF
  • Low Voltage Protection = OFF
  • Temperature Protection = 100
  • Motor Timing = Auto

I also set this, but not many people do, never had a problem with it.

  • Sine Modulation Mode = ON

Actually, there could be an issue with BLHELI passthrough on the Cube Orange and the AUX1 port.

If there seems to be no way that reading the BLHELI settings works then you have to temporarily:

  • move AUX1 ESC/Motor connector to AUX5
  • change the Servo Output from motor1 on position # 9 to position # 13, disabled in position # 9
  • unsure, but you might also need to adjust SERVO_BLH_BDMASK,7680
  • reboot the Cube

After getting that working and verifying your BLHELI ESC settings, you can put it back to original:

  • Motor1 connector back to AUX1
  • Servo Output from motor1 on position # 13 to position # 9, disabled in position # 13
  • SERVO_BLH_BDMASK,3840
  • reboot the Cube
1 Like

I’ve found that sometimes (probably depending on the ESC), I can get passthrough to work on AUX1 with the Cube. Otherwise, the workaround on AUX5 works well.

With the latest BlHeli flash, there’s an additional feature for PWM Freq High = By RPM. Probably good to leverage the latest features.

@xfacta Is it actually preferable to use serial ESC telemetry? I thought BDSHOT RPM was updated faster, thus helping dynamic notch following.

The BiDi DSHOT RPM is updated faster than serial - but with serial you get so much more than just RPM.
So ideally you want both → use the bdshot firmware and set up serial BLHELI telem
You can lower the serial frequency with
SERVO_BLH_TRATE,5 (instead of the default 10Hz)

1 Like

Thanks @xfacta for the great information and for always providing great insight and advice.