Pre armed hardware safety sw

I just upgraded to Arducopter ver 3.6 and are getting Pre armed hardware safety sw message.
It seem to be causing a problem when i try to calibrate Blheli esc’s
The only way i can try to calibrate is power up with full throttle to go into calibration mode and the esc’s calibrate. Motors run smoothly through full throttle range. But when i power down and repower the throttle cogges/shutters between above idle and half throttle. Why is it the motors run good in calibration mode and no good after i power down out of calibration mode.
I don’t think i have that problem before upgrading FW.
If i use the MP to calibrate the esc. The esc go through calibration tone but motors run bad.
I would like to go back to previous FW but when i select previous FW in MP It comes up with a failed to download FW
Please help


The MP issue stopping reverting to 3.5.7 is a known issue (I bumped into it yesterday as well) but it should be resolved soon. I hope that within a couple of days a new beta version of MP will be available that will allow reverting. Until then I know that it is possible to revert to 3.5.5… but not sure if you’re happy going back to 3.5.5. There’s just one bug fix between 3.5.5 and 3.5.7 which is that we don’t allow the safety switch to turn off the motors when it’s armed… that gets around a possible hardware issue when the safety switches get wet.

Thanks for the reply rmackay9.
I seem to fix the problem with the motor spin up by setting MOT_SPIN_MIN to .7. It’s above the recommended range but stop the gogging/stutter on spin up. The motors work perfectly when connected directly to the rx servo out. But gogged/shuttered when wired through the pixhawk.
What is the Pre armed hardware safety sw message. Is it a fault or just ignore it.
Do you loose param when changing FW in pixhawk. I noticed my battery module setting were erased.
I may try to return back to FW 3.5.7 when the issue is fixed.


if MOT_SPIN_MIN needs to be 0.7 then this means that 70% of the PWM range is not being used. I.e. the motors are being controlled by sending values between 70% ~ 95%. That means there’s something wrong with the ESC calibration or the output range being sent to the ESCs.

Can you provide a dataflash log? I suspect we will find a parameter that has been set incorrectly.

2018-11-06 15-15-05.tlog (739.1 KB)
Attached is a log from the pixhawk.
I noticed there was little throttle left after startup.
I have MOT_THST_EXPO at .8 to give me more top end throttle control.

Hi: I just upgraded to 3.6 and have the PR: Hardwire Safety Switch error as well. I also now have a RC Throttle Not Configured? Did the radio configuration twice, still there?


this is actually a tlog but a dataflash log would be a lot more useful…

I will try again. This is my first build and first pixhawk setup.
The .bin file is too big to upload.
Can i send it by email. Just setup one drive!AipsR1X-72uThgMApQgtfvMVT3AH
Hope it works.
I have returned the MOT param back to default.
I can’t understand that when i calibrate the esc’s with the passthrough (and direct from rx servo output), I can test the motors and there run smooth and linear. But once i get out of calibration and operate with the pixhawk in control link, the motor stutter from idle to mid throttle. That’s why i started adjusting the pixhawk param. I tried to check the esc with blheli software running through the pixhawk and can see the 4 esc’s but can’t read the esc setup because it says check power on esc yet i have power on the main wires to esc but servo cable only has gnd and sig wires connected.
Do i need 5v servo feed as well.
Thanks if you can help

Found the problem with the motor’s stuttering. It was the dampening on the pixhawk mount.
I have the pixhawk mounted on damped mounting tray but still getting torque movement into the pixhawk.
When i hold the pixhawk with my hand the motor’s throttles up smoothly. Maybe need to reduce the pid and find better dampening before the first test flight.
It’s all a learning curve, on to the next problem.

I continue to have these two issues. After updating to 3.6 I receive the “Hardware Safety Switch” error in PreArm Check and a RC:Throttle not Configured. Tried a bunch of stuff but the problem is still there. Any ideas out there?


Could you try re-doing the RC calibration?

If the board doesn’t have a safety switch then it should be possible to set BRD_SAFETY_ENABLE = 0 and it shouldn’t be used anymore.

If you’re still facing problems after trying the above can you post a .bin log (aka dataflash log)

I’m also getting Hardware Safety Switch error and i have a safety switch that works.
Any ideas

Well I am at a loss. I have the safety switch on the board. I have another Pixhawk cube 2.1 with 3.5.7 that works fine. I went through the laborious task of comparing the Parameter list manually looking for something that might be different which causes the two issues. Obviously there are differences but nothing that jumps out at me. Not being a techy, its hard to know what some of the items are like NEF_Buzz_Cin=0 or BRD_SAFTYOPTION = 3. I am hopping that the fix for moving back to 3.5.7 gets applied soon. With regard to the Throttle not configured, I ran several throttle configurations, but no dice. I am using a FrSky Taranis X9D and I think I will try with a Futaba. I am having the same problem on 2 different Pixhawk cubes.


It’s easier for us to help if you can provide a dataflash log.

Without that, the best I can suggest is to try 3.6.1-rc1 which has a fix for an occasional safety switch initialise issue. Beta builds are available using Beta Firmwares link in MP and something similar in QGC. This will only help if the issue is related to this bug. If it’s a configuration issue then the new version won’t help…


Thanks for the log. So there is a “PreArm: Hardware safety switch” message that is being displayed but it looks like you have been able to arm. So I guess you’re pushing the safety switch and the message goes away and then you’re able to arm? If this is the case then this is completely normal.

Copter-3.6 includes this new message and it’s just saying that before takeoff the hardware safety switch needs to be pressed. If you’re not a fan of the message, it’s possible to disable it by setting the ARMING_CHECK parameter value (if using the MP then from the standard params page there is a list of check boxes, uncheck “All” and then check all the rest except the Safety Switch option and then press “Write Params”.

Good to know that isn’t an alarm only instruction to operate the sw to arm.
Could you tell me what sensors to choose for plotting pilot throttle and motor drive. I’m plotting ctune Thl and servos 1-4.
I am trying to observe the difference between throttling up the motors(no prop’s) directly(passthrough) in the calibration/test and the pixhawk controlling the power to the motors. As they only stutter when powered through the pixhawk. I think my z axis gyro reading is high and the pixhawk is countering the z axis yaw caused by the motors powering up. I noticed the pid’s for the z axis are higher than the other axis pid’s. Do they need to be that high or could i a lower z axis pid to try to reduce the stutter.


CTUN.ThO might be what you’re looking for. This is the high level throttle sent into the motors library (the motors library then splits it out into individual outputs for each motor).

Reducing the PSC_ACCZ_ parameters values could possibly help if the issue is only happening in AltHold (and similar) modes where the autopilot is doing the throttle control.

I’m only at building stage. Found this problem after calibrating motors.
I will try CTUN Thl and CTUN.ThO

I am having the PRE ARM SAFETY SWITCH issue. All systems are go, but the button won’t engage. It keeps blinking. I have tried all variations and complete disarming of the button. Pixhawk 2 | Here+ GPS | Copter 3.6.5

Here are the logs:

Getting message on my mission planner “Pre arm: Hardware safety switch”. I got this issue after i crashed my quad. I checked sd card, reinstalled firmware but it is not getting fixed. Kindly help me with this problem.