I’m in the process of learning arduplane after using iNav for a few years and I’m stuck trying to simply test the motors. I do not want to finalize building the multirotor until I check this because the motor wires are buried in the frame.
It seems like there’s half a dozen things I need to do before using the motor test feature but even then it won’t work. So what is the actual process? I searched the forum but it just led me down rabbit holes with even more issues like needing to disable the USB connection check.
For now, I hold down the safety switch, force arm in the data page, and then try to use the test buttons but nothing happens. A few seconds later, the FC disarms, so I’m stuck restarting the FC and force closing mission planner multiple times until it recognizes the pixhawk cube again. I have disabled all the pre-arm safety checks to no avail.
The ESCs are powered of course? The rear servo rail of most autopilots doesn’t provide power to the ESCs.
Of course also make sure that the signal wire is at the bottom (and ground at the top).
My guess is that it’s failing because of some pre-arm check. If you’re using MP then go to the Data screen’s Messages tab to see why it is failing. setting ARMING_CHECK = 0 may also disable the checks enough to get the motor test working but remember to set this param back to 1 later!
Make sure that FRAME_CLASS and FRAME_TYPE have been specified so that it knows what type of multicopter you’re using.
Yes I did follow the article linked but still ran into issues. I did make the mistake of installing the ESC duponts into the aux port and not the output port on the cube orange but I fixed that before getting here.
It appears that there is simply no output from the cube when running the motor test button. Holding down the safety switch quiets down the ESC’s so it surely is communicating a PWM signal properly when it wants to. I set ARMING_CHECK = 0, but the flight controller still complains about no RC link and still force disarms after a few seconds. The frame is properly configured. It’s quite frustrating to test because every time I restart the FC I have to force close mission planner and reboot the FC 4-5 times before it connects over USB. I will try again tomorrow…
Disable the Safety Switch ( BRD_SAFETYENABLE to 0). You don’t need to manually Arm to run Motor Test. It arms before running and disarms when complete.
It may not allow you to do the motor test if the RC calibration hasn’t been done. There is an RC receiver attached of course?
Maybe also set MOT_PMW_MIN = 1000 , MOT_PWM_MAX = 2000.
If the motor test fails to start it should display one of these messages:
- Board initialising ← if you try to run the motor test too quickly after startup (very unlikely)
- “RC not calibrated” ← if the RC calibration hasn’t been done (we could potentially remove this check)
- “vehicle not landed” ← if the vehicle is in armed and flying (very unlikely)
- “Motor Emergency Stopped” ← if an auxiliary switch has been setup to E-stop
Maybe you can provide an onboard log? Let LOG_DISARMED = 1 and then follow the instructions here on how to download an onboard log.
I’ll reply back here when I can figure out the C2/telem link with crossfire. I’d like to test the motors without connecting a receiver but i guess the software locks you out.
After configuring a C2 link and forcing the FC to arm, the motor testing feature did work. In QGC, which connected more readily than MP, you will have to set the sliders position and then let go of the slider for a moment before the motors will spin. I’d like to see a more “raw” test feature that’s more intuitive with better human factors implementation (i.e. better UI explanations and more direct control in a “test” mode) but I’m still happy that it does work at the end of the day.