Possible Serious Safety flaw related to Arm/Disarm in Octo frame

Hello everyone, I have been configuring a new Octo using a DJI s1000 as a base and Pixhawk. Everything was going well until I have realised that when the copter is disarmed (the safety switch has not been pushed yet), not every Motor Output Pin is sending the same signal. It seems to me that only outputs from 1 to 4, both inclusive, are put to LOW, which I think is the correct signal, but motors from 5 to 8 are sending a PWM of 1120 (MOT_PWM_MIN value in my case). I have realised of this because the DJI ESC beep when they are not reading a valid PWM value between 1120 and 1940, so I expected all of them beeping then disarmed. I think this could be dangerous in some cases and all motor outputs should be put LOW or at least choose the value in Mission Planner.

This behaviour doesn’t appear when I disable the safety switch and only left the stick control to arm.

I am missing something here? This is not my first build with AP and pixhawk but my first Octo.


PS. Even if i leave the safety switch unpushed (light blinking) I can arm the copter with my rx stick (only the motors wich were seeing the PWM start to spin), which is a major safety problem I think.

Can you check the values of these parameters:
MOT_SAFE_DISARM (set to 1 for no PWM when disarmed)
BRD_SAFETY_MASK (all zeros/unchecked unless you need something active before pressing safety switch, but at least 1-8 unchecked in your case).

It may be that in the shift to a common binary the defaults for octo haven’t survived.

I can confirm this behaviour in my X8 .

Solution to this for now is BRD_SAFETY_MASK is set to ZERO.

1 Like

thanks, BRD_SAFETY_MASK worked!

It’s good to hear that you can now make your copter safe. Also good to see it was raised here: https://github.com/ArduPilot/ardupilot/issues/6814 as well, so it won’t get forgotten - thanks