Will an Hexacopter crash when there is a motor failure?

A while back, in Arducopter 3.5 I asked the question about Arducopter working on a hexa if a motor fails (Motor failure- to crash or not?)). Rmackay9 came back effectivey saying that some improvement was needed in this area. Has this been addressed now and if so what sort of thrust to weight are we looking at (with all 6 motors working) in order to maximise the chances of surviving a motor fail? Not fussed if the aircraft spins a bit. Also how effective is this in a Y6 config? Thank you.

No, nothing specific for this circumstance.

There was a test firmware made and some testing done with it that allowed you to disable a motor, from what I remember there used to be a parameter for something like yaw throttle reserve that you could turn right down to stop it trying to hold heading, letting it spin to use all its remaining thrust to keep it in the air.It was years ago you would probably have to search the github issues to find the original discussions.

I think what’s reported in this thread is still true today:
Motor loss

My personal opinion is the QuadX8 (octaquad) is probably the best - a good balance between thrust, efficiency and redundancy. You can use big props for the frame size unlike an X6 or X8 where the prop size is limited in order to fit them all in together. But one of the telling things is the number of commercial heavy lift multirotors out there using this configuration.
I was convinced by some comments from Tridge, amongst other things:

… and I think somewhere else he mentioned that they had a motor or ESC failure during testing and didnt even notice until after landing.
To be fair it could be argued that 6 or 8 motors in a more conventional format (see the google/Wing delivery planes) would offer similar redundancy, but then you are back to using much smaller props.

Oh, I’m sold on X8s, its what I fly all the time however Cubes are limited to only 6 Aux inputs for use on Dshot ESCs etc and I have been tasked with building a redundant capable FPV copter which by all accounts tune better with dshot protocols. Canbus would be another option but ESCs are too limited and not suitable for such a craft. So compromise is going to be the order of the day I suppose, either go Cube X8 and PWM or something like a MatekH743 and dshot.

To be honest its such a shame that AC doesn’t handle hexa redundancy propoerly like, dare I say it DJI however I do appreciate that the design briefs between the two are different and with that comes differing technical challenges.

It’d be nice to have 8 DSHOT outputs on a Cube, but you could use 4 DSHOT and 4 PWM. You’ll still have the BLHELI32 benefits within each ESC, and hopefully enough BLHELI telem data for monitoring and Harmonic Notch Filter.

Just use FETtec ESCs, their protocol is simpler , only needs a single UART, and can control up-to 12 motors with better telemetry than DShot. Better because it has all the same information, but uses CRC checks on both uplink and downlink data as opposed to DSHOT that only uses CRC on uplink. It also does not use one DMA per motor, it just uses one DMA for all motors.

I’m a bit skewed on this, because I helped develop the ardupilot device driver for it. But I do fly copters with DShot and copters with FETtec one wire. I do like the one wire better. And you will have all the 14 RC output channels free to do whatever you want.

1 Like

it’s not that DJI controllers handle it better, its that the frames have assistance built in, essentially all the motors are twisted a little to enhance the yaw control so that they can keep control of a hex with 5 motors. I suspect ardupilot could do the same with a similar frame to work with.

According to our control expert, Leonard Hall, those twisted arms are just there to make the system less prone to instability at the cost of reduced efficiency. DJI corrected this in newer models, their newer models no longer have the twisted stuff.

Possibly, its been years since I built any DJI stuff, last thing I done was a A3 on a s1000.

I had motor and propeller failure happening on hexa and octo over the years. Even with the old APM FC I was able to return and land without much of a problem.
As mentioned in an earlier remark, the larger, commercial drones are often based on hexa or quad as this is a safer bet in case of a motor failure.
I also like the fact that they proof to be flying more “smooth” in windy conditions which is important for something like camera work.

I was very pleased to learn a hexacopter could deal with a motor out as long as the flight controller was properly setup.
Here’s a great video on the topic.

1 Like

I have lost a motor in flight with a Y6, didn’t even notice until landing a few minutes earlier than the battery would last.

1 Like

This is an old thread but I wanted to provide an update that I did some testing yesterday of a lightly loaded hexacopter experiencing a motor failure and it worked very well with ArduPilot Copter-4.1.x.


What has been been improved to get arducopter to this point? It wasn’t always as good on a hex, I built a couple of y6 machines for this reason.


  • 4.0 (I think) had the thrust loss check added which tries to detect a failed motor and temporarily removes it from the overall throttle limit. This allows the remaining motors to produce more thrust to help keep the vehicle in the air (with the potential downside of a loss of yaw control)
  • 4.1 started using the “thrust vector” to improve position control during loss of yaw
1 Like

This is GREAT news, thank you for taking the time to report this. I’m building another rig and was debating the old Y6 vs flat hexa again just for this reason. After seeing the video of your experiment, I have much more confidence in the flat hexacopter compared to before. :slight_smile:

1 Like

Any way to test motor failure via an RC-switch or something like that. I can do it via Lua by overriding the PWM output to 1000 - but I don’t want it to result in a situation where the thrust loss check fails to trigger because of this.


Luckily @iampete has just created a lua script that will allow turning off a motor in flight. This will be merged to master (aka “latest”) so you could use this with the 4.2.x releases which are in beta now.