Issue Configuring BLHeli_S ESC with Cube Orange & DShot (Copter 4.6)

Hey team,

I’ve been trying to configure a BLHeli_S ESC to run using the DShot protocol with a Cube Orange flight controller running ArduPilot Copter 4.6. I’m using a Linux PC and running into some trouble.

Here’s what I’ve done and observed:

  • I haven’t flashed or changed anything on the ESC since purchasing it.
  • According to the ArduPilot documentation, BLHeli_S is open source, 16-bit, and the last maintained version (16.7) is typically installed by default on these ESCs from the factory.
  • However, I’m unable to modify or read any ESC settings.
  • I’ve tried using both BLHeliSuite for Linux and the BLHeli Configurator (web-based), but neither is working.
  • The BLHeli Configurator site only shows a blank or minimal interface with no detected ESCs.


then this came

and finally the below tab stays for an 5 to 10 mins is it normal?

My Current Setup & Connections:

PC (Linux) → Connected to Cube Orange via USB.
Cube Orange Flight Controller → Running ArduPilot Copter 4.6.
Main Output Pin 1 (Cube) → Connected to Signal Pin of ESC (Motor 1).
ESC → Powered separately (verified with correct voltage).
Motor → Connected to ESC.

Has anyone successfully configured BLHeli_S ESCs over passthrough with Cube Orange and Copter 4.6 on Linux? Am I missing something in the setup or software?

Any guidance would be appreciated. Thanks!

I think the passthrough doesnt work when using the BRD_IO_DSHOT,1 setting and the Main outputs for DSHOT.
I believe the passthrough works OK when using the AUX outputs for DSHOT.

Admittedly I’ve not used BLHELI_S or BlueJay, only BLHELI32 and in that case I’ve always used the BLHELI32 windows program, not browser-based. If I lack a flight controller for passthrough I’ve got an Arduino setup as the interface to the windows program.

The other caveat - I’ve got Windows11 running in Virtualbox for some windows-only things.

You will have to flash to BlueJay if you want bidirectional dshot. (ideal for filtering). I have used the web-based configuator for Blheli-S/BlueJay and it’s worked well. I’ve always connected dshot ESCs on the cube to the aux outputs as @xfacta mentioned.

I recently downloaded and installed Windows, but I’m still facing the same issue with my ESC setup. Currently, I’m using a Hobbywing 40A ESC, but I’m not sure which firmware is currently installed on it.

My goal is to check or flash the firmware to one that supports DShot. I tried using ESC Configurator for the first time. I selected the correct port and baud rate, then clicked “Connect”—but it gave an error saying another application is using the port. However, I don’t have any other app running.

I also tried BLHeliSuite, but it gives the message:
“Please check USB serial port and power connection to the interface.”
I’ve same connection said before other than a new esc and my windows os.

Any help or guidance would be greatly appreciated!

Thanks in advance.

Depends on which ESC it is. If it looks like this you will not get Dshot, old school PWM only.
HW 40A

Check the manufacturer’s website for your model of ESC and see what protocol it has on it. BlHeli-S, or BlHeli-32. If it doesn’t say then you might be stuck with PWM and you won’t be able to get dshot, or dshot telemetry.

I’ve replaced the Hobbywing ESC with a BLHeli_S ESC, and now I’m trying to passthrough the ESC to check its firmware and settings. I runs DShot on Motor 1 of my 4 in 1 esc.
The connection are same as said before.

Here’s what I’ve done so far:

In Flight Controller Setup Mission Planner

  • Reset flight controller to default parameters
  • Arming Check: set to 0
    (I only want to run Motor 1 for testing purposes, ignoring all other pre-arm checks.)
  • BRD_SAFETYOPTION: set to 0
  • BRD_SAFETY_DEFLT: set to 0
    (We don’t have a safety switch.)
  • MOT_PWM_TYPE: set to DShot150
  • Servo_blh_otype: is set to ‘4’
  • SERVO_BLH_AUTO: set to 1
    (Enable BLHeli passthrough mode)
  • SERVO_BLH_MASK: set to 1
    (I assumed Motor 1 is on channel 1 – not 100% sure how to verify this. Please advise.)
    Done these by referring this video dshot on blheli_s and passthrough protocol

Connection:

the connections are same but i have changing the motor signal to flight controller “main out” and “aux out” to check whether in which port i got connected my esc at final as said by @xfacta.

Note:

I have not enabled SERVO_DSHOT_ESC, because in Mission Planner, that option appears under Bluejay / Bluejay+EDT. I want to first confirm the ESC firmware before enabling anything Bluejay-specific.


Passthrough Attempt:

I tried to read the ESC firmware using the BLHeli Configurator. I selected:

  • Interface: SiLabs BLHeli Bootloader (Cleanflight)

But I received this error:

My Goal:

  • Run DShot on Motor 1 only.
  • Confirm ESC firmware (BLHeli_S vs Bluejay).
  • Configure or flash firmware accordingly.

Questions:

  1. How can I verify which SERVO_BLH_MASK corresponds to Motor 1?
  2. Is my passthrough config correct for BLHeli_S ESCs?
  3. Should I select a different interface or tool to detect the firmware type?

Thanks in advance for your help!

I haven’t found bleheli_s about its firmware is manufacturers website but as per the website the firmware used is version, 16.7. so as you have said before how to flash the bluejay without accessing esc settings.

I see you have double posted this. Nobody appreciates that.

What is the point of that?

Connect to the Aux outputs. Unless you have enabled brd_io_dshot and know what that does. So, use the Aux outputs.
Use Dshot600
Set the BLH mask to the aux outputs you are using.
Set otype back to default 0
Set servo_dshot_esc,2

Thanks @dkemxr,

I’ve runned the motor using both the AUX ports and the MAIN outputs by enabling and disabling BRD_IO_DSHOT accordingly. However, I’m still unable to get ESC passthrough working, even after setting SERVO_BLH_AUTO = 1.

I’d like to change some settings on my ESCs, but I can’t seem to get BLHeli passthrough to function in blheli configurator or BLHeliSuite.

Has anyone successfully used passthrough in ArduPilot with DSHOT?
Are there any other parameters I need to set?

Would appreciate any help or confirmation if this feature is working for others.

Thanks!

Seriously? Every day.

What ESC’s are they? Are you using the right BLHeliSuite (V16.7) or This Configurator ?

i am using blheli_s esc i have followed your guidance and dont know about the which firmware is flashed in that esc.

yes, using blhelisuite v16.7 it shows as below.


and the online configurator shows nothing other than option to change speed of the four motor and the master speed.

What Blheli_S ESC’s ?

skystars k045 3-6s this one with orange cube flight controller

That’s a Blheli_32 ESC

sorry for the confusions this is the one i have blheli_s esc

Post your latest parameter file.

log file 1 - 29-7-25.param (17.7 KB)

Hi frnds,
since i have been testing only esc for one motor and how motor works for esc by analysing the dshot signal and developing a esc our main goal i have been setting these parameters in my fc

arming check to 0 to disable all params to check before arms
brd_safetyoption to 0 safety switch enable conditions
brd_safety_deflt to 0 safety switch disabled
mot_spin_arm to 0
mot_spin_min to 0.1
disarm_delay to 60
servo1_function 33
arming is done by radiolink at10

1 to enable dshot on motor1 aux channel i have done
go to mandatory hardware->servo output->channel 9 to motor1
servo1_function to motor1
brd_io_dshot to 0
servo_blh_otype 4
servo_blh_mask 256
servo dshot esc to 2
for blheli passthru - servo_blh_auto 1
i am able to run the motor in dshot but unable to passthrough the esc with the both online configurator and blheli suite

and online configurator show nothing other than motor speed and master speed control and mentions as “0 escs found”
seeking help from this community
thanks in advance

is there any updates found