Mode Switch Setup for Turnigy 9x with ER9x Firmware


How to setup the mode switch mixing for Turnigy 9x with ER9x

First thanks to Olivier whose post in my Futaba tute  helped me get my head around ER9x mixing.

I am an AC2 user so there may be some APM differences I have missed.

This tutorial was created using eePe v247 and ER9x r349.

I am going to assume that if you have managed to load ER9x, then you must be familiar with eePe and basic ER9x programming.

We will be using the 3 position flight mode switch and the 2 AIL D/R switch in this example to be able to get all six flight modes for the APM/AC2. We are aiming to get pulse widths of 1165, 1295, 1425, 1555, 1685, and 1815. Remember that 1815 will put APM into hardware manual because it uses the ch8 input, so you may as well assign manual mode to that position when you setup your chosen flight modes in CLI.

Use the PWM test in CLI to read the pulse width numbers for ch5 on AC2 and ch8 on APM. The pulse-width readout is now conveniently located on the Radio Calibration page of the Planner. I have used a servo programmer here as it is convenient for photos.

You can use eePe to setup initial mixing but Remember to backup your eeprom first.

Please don't just blindly copy my values as your radio may produce different pulse widths. The Turnigy is not as accurate as my 12fg and the pulse values seem to vary slightly every time I cycle power. Hey, it's a $55 radio :)


1. Clear any flight mode mixing you may already have, otherwise you will go round in circles chasing numbers due to the switch interaction. I wasted many hours by trying to jump straight into mixing.

2. Start with end points at +- 100 and subtrim 0 on ch5.

3. Setup these mixes on ch5. Don’t get overly concerned about the numbers for ID0 & ID2, they just get us in the ballpark.



4. Put the flight mode switch in position 1. Adjust the weight of the ID1 mix to get a pulse of 1490. This is the key to not chasing your tail later, it is also not the normal centre pulse width but is right in the middle of the range we are trying to setup.



5. Leave flight mode in position 1 and put AIL D/R switch in position 0. Add the mix shown here (make sure it is !AIL) and adjust the weight to get a 1425 pulse.



6. Leave flight mode in position 1 and put AIL D/R switch in position 1. Add the mix shown here (make sure it is AIL) and adjust the weight to get a 1555 pulse.



7. Put the flight mode switch in position N and AIL D/R in position 0.  Adjust the ID0 weight to get an 1165 pulse.



8. Put the flight mode switch in position 2 and AIL D/R in position 1.  Adjust the ID2 weight to get an 1815 pulse.



9. That’s it. If you flick through all 6 combinations, it should be pretty close to what the APM/AC2 expects to see.  I ended up with  1165, 1298, 1423, 1556, 1681 and 1813.

E-mail me when people leave their comments –

You need to be a member of diydrones to add comments!

Join diydrones


  • 100KM

    @Brian thank you so much. I tried this many times over but could not get close to Gordon's values. Then I read your post about MAX=HALF. I figured MAX=FULL for some reason...

    Of course, thanks Gordon!

  • Using open9x (exactly the same instructions for er9x), I made one small enhancement.

    I added an additive mix on channel 5 to add the ELE switch with a weight of -125 and source of MAX.  By setting STABILIZE mode in the minimum position in Mission Planner, I'm able to use the ELE switch to completely override the current flight mode directly into STABILIZE, regardless of the other switch states.  The advantage is that I don't need to worry how I lay out the other flight modes - I can always switch back to stabilize in a moment.

    The disadvantage is that it's easy to leave that override switch on between launches, and think that for example ALT HOLD mode has been engaged, when in fact it hasn't.  To deal with that, I set a power-on switch alarm for the override switch, and part of my pre-launch routine is to power-cycle the TX.

  • I like this programming better:
  • This helped me out a lot but how do I set up the remote to trim the apm on channel 6 ?

  • Funny - when I set this programming I get the 2 way lever (set to !AIL and !AIL) to do nothing
    I get the action on Throttle CUT

    I have no clue why but I can live with it

  • This is my Er9x setup for having 6 modes used in my quadrocopter. Fixed wing used w/o APM2 so far.

    59% HALF ID0

    9% HALF ID1

    -41% HALF ID2

    -26% HALF AIL

    All summed up for CH5.

    It makes 3-position switch to jump on 1,3,5 (odd) or 2,4,6 (even) depending on AIL switch.

  • This is awesome! Thanks! I noticed as well that er9x no longer has a MAX source on the mixer, but it looks like HALF does the same thing.

    Once I got the radio set up the way instructed here, I made the following modifications--

    - Changed the switch for the -50% to ID2

    - Changed the switch for the +54% to ID0

    - Changed the switch for the -13% to AIL

    - Changed the switch for the +14% to !AIL

    This effectively reversed the order that the switches operated in (i.e. flt mode sw N and Ail 0 is flight mode 6 or manual, not flight mode 1) .  My reasoning was that er9x wants the flt mode sw to be in position N and the aileron switch in position 0 on startup--if they're not you get a switch error prompt.  I think that "default" position should be manual mode--basically when the radio turns on, er9x prompts you to put it in manual mode. I then configured the rest of the flight modes as follows:

    FM1 - RTL

    FM2 - Loiter

    FM3 - FBW B

    FM4 - FBW A

    FM5 - Auto

    FM6 - Manual

    I kind of new to this, so I'm curious if I'm missing something in my reasoning.


  • This setup works great! If you have a version of er9x that doesn't have the MAX source, use HALF instead rather than FULL.
  • Distributor

    @ Paolo, you put your radio in Plane mode even for quads. This is the way to go for ArduPilot. 

  • Sry for the question. This settings are for a plane or a quadcotter?
This reply was deleted.