I would like to use flaperons in order to slow down my glider, both in manual/stabilize/fbw_a as well as in auto modes. Currently I am using a Y-adapter connected to output 1 for aileron control.

Starting from there I would like to understand how to setup my radio and what parameters to set in arduplane in order for flaperons to function.

There are bits of information around the wiki. But I have a hard time understanding it and a quick google reveals that I am not the only person struggeling to get flaperons in arduplane right. So as a long term goal I would like to contribute in improving the wiki toward one single flaperon page, that guides the user through setup.

Thanks in advance!

I do not know if you can setup flaperons using the present firmware.
Here is the ArduPlane Wiki section for setting up your control surfaces http://plane.ardupilot.com/wiki/arduplane-setup/first-time-apm-setup/automatic-flaps/ and here http://plane.ardupilot.com/wiki/arduplane-setup/first-time-apm-setup/differential-spoilers/

TCIII, thank you for your reply and for the links.

Running a wiki search on flaperon, three pages turn up:

1) plane.ardupilot.com/wiki/arduplane-parameters

First, there is Flaperon1 and Flaperon2 available as a setting for any RCx_FUNCTION with x>=5

Then there is something on Flap input channel: ‘You must also enable a FLAPERON_OUTPUT flaperon mixer setting if using flaperons.’

Comment: To my understanding, this is the channel on my radio that will switch flaperon mode on or off.

Finally the parameters page details on FLAPERON_OUTPUT. 'Enable flaperon output in software. If enabled then the APM will provide software flaperon mixing on the FLAPERON1 and FLAPERON2 output channels specified using the FUNCTION on two auxillary channels. There are 4 different mixing modes available, which refer to the 4 ways the flap and aileron outputs can be mapped to the two flaperon servos. ’

Comment: I do not understand what kind of software abstraction is behind this but with a classical aileron servo setup, to have both surfaces into one direction, it should be updown or downup (2 or 3 respectively).

2) plane.ardupilot.com/wiki/flight- … _flaperon2

‘Using the flaperon1 and flaperon2 output functions you can setup flaperons, which are ailerons that double as flaps. They are very useful for aircraft which have ailerons but no flaps.’

Comment: This sounds to me, as the strategy would be to have flaperons replace ailerons.

3) plane.ardupilot.com/wiki/fixed-w … crow_flaps

Here flaperons are mentioned as part of a bit on crow flaps: ‘…you will need to setup flaperons on two output channels using the flaperon output channels functions. You will need to choose the FLAPERON_OUTPUT parameter value…’

First, to allow the autopilot to address both servos separately for the flaperon operation, aileron servos will have to be connected to individual output pins on the autopilot, rather than to a single channel with a Y harness.

Next, to allow both ailerons to still be addressed in any manual modes, I will have to configure my radio in order to output the aileron stick information toward two to rather than one channel.

Third, the autopilot must be provided with the connection information, i.e. where are the flaperon servos? If my interpretation of the wiki 2) is correct, flaperon1 and flaperon2 replace any aileron setting. Currently as set by default, my single channel Y ailerons are receive input from my radio channel 1 and on the autopilot the Y harness is connected to output 1. Therefore I take it that the RC1_FUNCTION must be changed from its current aileron use to either Flaperon1 or Flaperon2. But as previously mention RCx_FUNCTION is only available for RC5 and above.

Deal breaker since Flaperon1 and Flaperon2 must be assigned according to the cited wiki. Am I wrong assuming that those parameters do replace aileron functions, i.e. aileron and flaperon functions coexist ? In that case there would be 4 output channels for two aileron servos?

Thanks in advance for any insights.

I hope that I posted in the correct place, as this problem seems to apply to all ardupilot versions above 3.0.0, in which flaperon support was introduced. Since then, only flaperon trim handling was modified, a rather minor change as it appears (github.com/diydrones/ardupilot/ … -notes.txt).

Also from the release notes: ‘We don’t yet have a full wiki page on setting up flaperons, but you can read about the parameters here’

As mentioned, I am willing to help with the wiki, once somebody can provide a primer here.

Thanks again for any help.

Stumbled upon this bug on github, where the problem of a hardcoded rc1_function was brought up: github.com/diydrones/ardupilot/issues/2186


I connected apm 2.5.2 outputs as follows:

1 = 0
2 = elevator servo
3 = ESC throttle
4 = rudder servo
5 = port servo
6 = starboard servo
7 = 0
8 = 0

Inputs as mapped in 9xr transmitter:

1 = AIL
2 = ELE
3 = THR
4 = RUD
5 = 0
6 = 0
7 = ID2 (full switch)
8 = P3


RC5_FUNCTION=24 (“Flaperon1”)
RC6_FUNCTION=25 (“Flaperon2”)

FLAP_IN_CHANNEL=7 (where the P1 pot is on the tx)


With this exact configuration

*My aileron stick on the tx controls the starboard and port servo as expected for the aileron input.

*In stabilize and auto modes, starboard and port servo move as expected for ailerons

*When ID2 is switched on the TX, both port and starboard control surfaces move up evenly and smooth.

*Now moving the aileron stick controls both servos in the same aileron fashion as before, just with the zero position moved upwards on both sides.

*Also true for autopilot control in stabilize and auto modes.

Now I connected pan / tilt to the free ouput pins 7 and 8, and set up the free channels 5 and 6 on the transmitter to my pan tilt pots.


RC7_FUNCTION=6 (“mount_pan”)
RC8_FUNCTION=7 (“mount_tilt”)

I agree, the documentation needs some clarity. I found your post very helpful though.

I got hung up in testing. I just changed 1 aileron to a flaperon and couldn’t get it to work. It looks like Plane wants BOTH flaperon1 and flaperon2 assigned before it will activate with the flap switch. Since channels 1-4 cannot be changed you must use two channels (not 1-4) to plug servos intointo into that will be the flaperons.

Note that as of this writing the most current version of Plane supports Flaperons.

Jack, Thank you very much for writing this up. I’ve wanted to set up flaperons since first putting APM on my plane, but the wiki didn’t seem very clear to me.

It took me about 4 minutes to set everything after reading your post. Looks like my only problem now is how to reverse my ailerons. In both manual and FBW modes, my ailerons are reversed with both stick inputs as well as when tilting the airframe.

I’ve tried swapping the servos RC plug on the physical flight controller, as well as reversing the RC5 and RC6 parameters and the Aileron param.

I’m assuming this is a simple fix/parameter I need to switch, but I’m not sure which one.

Thanks for any help.

I ended up getting the ailerons going the correct way by switching around the flaperon1 and flaperon2 settings, and changing the flaperon output. Not exactly a scientific approach, but I kept juggling options until it worked.

Once again, thanks a ton for posting this, Jack. Your post made a lot more sense to me than what I was able to find previously.

*When ID2 is switched on the TX, both port and starboard control surfaces move up evenly and smooth.

*Now moving the aileron stick controls both servos in the same aileron fashion as before, just with the zero position moved upwards on both sides.

Hi Jack, I was trying this yesterday and found out that when I enable my flaps (I use a rotating pot that gives me full range), my flaps go up, as spoilers, and not down as flaps.
Are yours going up, or down?

Here’s the bug I filed:

Does the FLAPERON_OUTPUT parameter not correct this issue for you? changing from UpUp to DownDown or vice versa?