Control surface servos won't work VTOL quadplane

I don’t own a Pixhawk 4 so I’ve not personally worked with one but the control surface servos, I would think, would connect to the I/O PWM OUT ports. I can’t see it on your pictures but is that where you have them connected?

Another option is to change your airframe to the Vertical Technologies DeltaQuad where all PWM devices connect to the MAIN ports (FMU PWM). The mixer/device connections are as follows:

MAIN1 : motor 1
MAIN2 : motor 2
MAIN3 : motor 3
MAIN4 : motor 4
MAIN5 : Right elevon
MAIN6 : Left elevon
MAIN7 : Pusher motor
MAIN8 : Pusher reverse channel (Optional)

Good luck.

Hey I think from the picture you have the connections for the servos plugged in backwards.

Thanks Rollys
I will switch to this if I can’t get the aux working.


Thanks Nnomaeeht…You were correct! The servos now have power but still don’t respond to TX inputs… Is there a servo setup procedure for control surfaces??.. I would prefer to setup aux for control surfaces than use the remaining main 5-8, as I would like to eventually us 8 lifting motors.

Thanks for your help.

Question - could you walk me through the aux parameters for setting up the elevator servo. I can copy that format for the rest. The servo’s have power now but still won’t move.

  • Try changing SYS_AUTOSTART = 13005
  • Connections should be as follows:
    • MAIN1: motor 1
    • MAIN2: motor 2
    • MAIN3: motor 3
    • MAIN4: motor 4
    • AUX1: Aileron 1
    • AUX2: Aileron 2
    • AUX3: Elevator
    • AUX4: Rudder/Optional
    • AUX5: Throttle
  • Make sure all props are removed.
  • Follow the bench test procedure in Post# 2 above.

Good luck.

Thanks Rollys
Tried changing the autostart to 13005 and followed the post #2 procedures. No luck no activities on the servos.

What should the parameter settings be for the servos? The documentation refers to Servo Function… but servo function is no longer in the parameter lists?


I’m presuming that you rebooted after the change and then tried, right?

The PWM settings for the servos are determined according the airframe you choose. In VTOL, except for DeltaQuad, quad motors ESCs plug in to MAIN ports and control surfaces like ailerons and elevators plugin to the AUX ports of the Pixhawk.

In taking a closer look at your photos, specifically this one, where the arrow is pointed; is that where your control surface servos are plugged in? If it is, and if I’m reading the label on the board correctly, I believe that’s the wrong place. That label says FMU PWM Out, which is the MAIN ports for the quad motor ESCs. Servos should be connected to the I/O PWM Out which correspond to the AUX ports.

Good luck.

Hi Rollys
Yes the arrow is pointing to the ports where the servos are plugged into the FMU (since this picture was taken I reversed the plugs… had the signal on the ground and vice versa… now getting power to the servos but not action.) From the Pixhawk 4 documentation, the I/O ports are “Main” and used for the motor controls, and FMU is for AUX channels. I’m hoping to save the remaining 4 Motor controls for 4 additional lifting motors (M5-M8), and use the AUX channels for the control surfaces.

In the parameters list for autostart 13005, which group of parameters are the control surfaces (what is their file name specifically.)?

Hi Tim
Yes I/O is MAIN, FMU connects to AUX, so your wiring should be correct. The multicopter motors are running as they should, right?
The parameters corresponding to the aileron servo ports are named PWM_AUX_XXX1 and PWM_AUX_XXX2, where XXX stands for MIN, MAX, DIS, FAIL, TRIM, so the min, max, disarmed, failsafe and trim PWM output on the specific port. Normally they should run with the default values and it’s not necessary to change them.

Have you tried to arm your aircraft in MANUAL Fixed-wing mode already?

Hi Sfuhrer
Yes the multicopter works great! When I flick the transition switch the main motors slow and stop as they should… just no servo control.

Tried it in manual mode… still no Servos. Here are some screen shots for you to see what’s going on… love to here your thoughts.

image image image image imageimage

Let’s check the pwm outputs. You can see what pwm values the controller currently sets by going to the Mavlink console ( ) and enter “pwm info” there. Make sure you are in fixed-wing flight mode when you do it and share a printscreen of the console outputs.

A separate thing you could try is to actuate the servos manually: again in the mavlink console, enter
“pwm arm”
and then
“pwm test -c 78 -p 1200”
This should set channel 7 and 8 (being AUX1 and AUX2 I think) to a pwm of 1200. They then should move. Make sure to have your multicopter props removed while doing it.

Keep me posted of the results!

Hi Sfuhrer
Here is the screen shot for the pwm info.
Also I am using a spektrum DX6 (not DX6i)… If the dx6 is the problem I will pick up a different TX with more channels. Let me know your thoughts from the screen shot info.

please paste a screenshot again after you entered:
pwm info -d /dev/pwm_output1

And this should get your flaps moving:
pwm arm
pwm test -d /dev/pwm_output1 -c 1234 -p 1200

The choice of TX shouldn’t be the problem here.

Here are two screen shots.
Servos WORK now!!! So excited! I haven’t connected my two forward thrust motors yet, but will tonight. If I have any problems, I will reach out.
REALLY Appreciate the help!!!

Cool to hear that we are one step further:)

Did the servos start working before you entered the second command or only after? And now they also work without entering any commands, so just after you plug in the battery for example?

About the transition timeout: thr transitions timeout because you of course don’t reach transition speed. You can bypass yhst by setting CBRK_AIRSPD_CHK to 162128. It’s not recommended to fly like that though:

The servos began working only after the second command… but now I can shut everything down and the servos work normally as they should every time.

Transition working properly now as well!!! Adjusted the time and disabled the airspeed.

Question: Because I’m not going to use the AUX4 for a rudder, can I change that AUX 4 channel and remap it to be a second forward thrust motor… having AUX 4 and 5 both operations the throttle on the Tx?

Do you mean having the exact same signal on both thrust motors? Then you could just make a Y-cable to feed the PWM from AUX5 to both ESCs. If you think about controlling each motor individually then you would have to change the mixer: (eg enable yaw control over differential thrust instead of a rudder)

Great! once I get control of the forward thrust motor, I will give it a try… Will keep you posted.

Hi Tim,
I am having the same problem on servo outputs. My firmware version and platform is the same as yours. There is no deflection of servos whatsoever. May you give me a guideline through which you succeeded?
Thanks in advance