Flight Mode Selection with Spektrum DX6i and Naza M Lite
This post is part of the Quanum Venture FPV quadcopter build tutorial.
The DJI Naza M Lite is one of the most popular and capable entry-level flight controllers on the market and the Spektrum DX6i is one of the most popular radio transmitters. However, these two systems are notoriously difficult to get working well together. If you do some cursory Google searching you will find that many multirotor pilots experience significant difficulty getting the DX6i to work with the Naza M Lite. The main point of frustration is enabling the selection of Naza M Lite flight modes with the DX6i’s toggle switches.
Here is the situation: the Naza M Lite has four different flight modes, three of which are commonly used by multirotor pilots: attitude mode, GPS attitude mode, and failsafe mode. The problem is, the channel used to control the flight modes (the U channel on the Naza M Lite) is connected to a two-position switch on the radio transmitter. So we are trying to use a two-position switch to select among three flight modes. How do we do this? How can we get three options out of a two-position switch?
Well, the answer is, we cannot select three different options with a two-position switch using the hardware alone. However, we can make use of the transmitter’s software to solve this problem using a combination of features: programmable mixing, travel adjustment, and sub trim. Be forewarned, programmable mixing is complicated and difficult to understand. Just try doing a Google search for explanations on how radio transmitter channel mixing works, I can virtually guarantee you will be quite confused. Setting up the switches on the DX6i, or other transmitters that lack three-position switches, is by far the most conceptually difficult part of using the Naza M Lite. The other features though, travel adjustment and sub trim are, thankfully, much easier to understand.
Don’t be intimidated though, the settings are really not all that confusing. Let’s start by examining the situation with the default settings on the DX6i. Remember that the GEAR switch (left bumper) is connected to the U channel on the flight controller so the GEAR switch will be used to select flight modes.
Open the Basic>RC settings in the DJI Assistant software and observe what happens when you flip the switch back and forth. You will notice that with the switch in the 0 position, the flight mode chevron will be below the bottom of the bar and the flight controller will be in failsafe mode. Flip the switch and the chevron will jump to the second failsafe area. So, no matter how you flip the switch, the flight controller will always be in failsafe mode. This is not good because if the flight controller is always in failsafe mode, it will never lift off the ground.
What’s going on here is that the range between the minimum and maximum values of the GEAR switch is too wide. In the DJI Assistant software, take a look at the range between the GPS area and the Atti. area; it is quite a bit narrower than the range between the minimum and maximum values of the GEAR switch. So, the first step in making the flight mode selection work is reducing the range between the minimum and maximum values of the GEAR switch.
We will do this using the Travel Adjust function. The travel adjust feature allows us to change the range between the maximum and minimum values of a control. That is exactly what we want to do here! To begin with, make sure to flip your GEAR switch to the down (0) position. Now, it takes a bit of experimentation to figure out workable numbers, but in the transmitter’s TRAVEL ADJ screen, reduce the GEAR setting to 80%. Now go back into the DJI Assistant software and try flipping the GEAR switch back and forth again.
You will notice that the chevron doesn’t move so far this time. In fact, it travels 20% less distance than it did before. It almost looks like the distance between the maximum and minimum values matches the distance between the GPS area and the Atti. area, right? But we have another problem, the chevron should now be flipping between the two failsafe areas. What we need to do now is just move the entire range over so it matches up with the GPS and Atti. areas. Well we will use another feature to accomplish this, the Sub Trim feature.
Sub trim is basically used to literally trim the off the bottom of the control range, or it can be used to add some to the bottom of the control range. You can think of the Sub Tim feature as a way to move the entire range of control inputs up or down. Imagine that, this is exactly what we want to do again! So, the second step in making the flight mode selection work is reducing the sub trim level of the GEAR switch.
So go in to the DX6i menu again and select SUB TRIM. We are interested in adjusting the sub trim for the GEAR switch. Again, the proper setting are determined by experimentation, but here you can easily see how we figure out what values to use. Keep your eyes on the DJI Assistant software while you decrease the sub trim level for the GEAR switch (we are reducing the value because we want the entire control range to move left). You should notice the chevron moving to the left! If you flip the switch you will notice that both ends of the control range are moving. Set the sub trim level to ↓ 35.
Now if you flip the GEAR switch, the chevron should switch between the GPS and Atti. positions. Congratulations, you’ve just manged to do what many, many pilots have great difficult accomplishing.
But we are not done quite yet because there is a third flight control mode we want the ability to activate, failsafe mode. Why would we want to manually trigger failsafe mode you ask? Well, we can program the flight controller to do something really cool when it enters failsafe mode. Since the Naza M Lite is equipped with a GPS module, when it enters failsafe mode it can automatically fly right back to where it lifted off and land at your feet. Failsafe mode is normally used if the flight controller loses contact with the radio transmitter. Failsafe mode allows the multirotor to fly safely back to its starting position when it loses a radio signal, rather than just crashing which is what many other multirotors would do.
Here is the situation discussed at the beginning on this step, how do we get our two-position switch to activate a third option. Well, we will use yet another feature of the DX6i called programmable mixing (usually just called mixing, or even just mix). Mixing basically allows us to change two controls manipulating only one switch or stick on the transmitter. Programmable mixing is used for all kinds of things. One common use is to increase a multirotor’s throttle when moving forward to compensate for a loss of downward thrust. You see, when a multirotor is level, all its thrust is directed downward, holding the multirotor up in the air. But, when you make the multirotor move forward, some of the thrust is directed sideways, leaving less facing downward, so the multirotor will lose altitude. You could use programmable mixing to say, “when I push forward on the elevator stick, automatically increase the throttle by 5%” So in this situation you would be controlling both the elevator and throttle with one stick movement. That’s what programmable mixing does.
How does that help us make our GEAR switch select a third flight mode? Well, we are going to do something a little interesting with our programmable mixing. By the way, this is one of the most confusing concepts in all of multirotor piloting, so just take your time and read though this paragraph a few times if necessary. We will be mixing the GEAR switch with itself. What this says to the radio transmitter is “when I flip the GEAR switch to the down position, increase the GEAR switch by 50%.” You can see this is a lot like the previous scenario with elevator/throttle mixing. We are still using one control input to affect the output of another control input, but in this case both control inputs are the same (see why this is confusing). The most important part of this technique is that we will be able to use another switch, in our case the FLAP switch, to turn on and off this mix.
So, when the FLAP switch is in the 0 position (up), then the programmable mixing will be turned off and the GEAR switch will function exactly as it did before when we only configured the travel adjust and sub trim features. With the FLAP switch at 0 and the mix turned off, the GEAR switch will flip between GPS mode and Attitude mode just like normal. However, when the FLAP switch is in the 1 position, the mix will be enabled. With the mix enabled, when the GEAR switch is in the 1 position, Attitude mode is still selected because the mix does not affect the maximum value of the control. However, when the FLAP switch is in the 1 position and the mix is enabled, when we flip the GEAR switch to the 0 position, the programmable mix will increase the GEAR value by 50%, which will kick the value below the bottom of the range and trigger failsafe. So, in summary, the third step in making the flight the flight controller mode selection work is configuring a programmable mix that pushes the GEAR value to a failsafe position.
Let’s get stared configuring our programmable mix. The DX6i can actually be programmed with two mixes, but we only need one for today, so from the main menu, select MIX 1. Initially you will only see one thing on the screen, an acronym reading “INH.” Click and change this value to “ACT” and you will see all the mix settings appear. Configure the options according to the figure below. There are three important settings here. The first line of the settings lists the master switch and the slave switch. The mix works by changing the value of the slave mix when the master mix changes. In this case, as discussed above, the slave and master are the same switch, so the gear switch will basically change its own value. Second, the RATE D option determines by how much to change the value when the switch is in the down position. This is another example of a value determined through experimentation, but a value of 50% will work fine here. Last we have the SW field. This setting determines the switch used to turn the mix on and off. You can use any of the switches on the DX6i, but I will be using the FLAP switch.
Let’s return to the DJI Assistant software. We can now select three different flight modes using a combination of the GEAR switch and the FLAP switch. Our flight mode selection will work with the following patterns:
|0 (up)||0 (down)||GPS Attitude|
|1 (down)||0 (down)||Failsafe|
|0 (up)||1 (up)||Attitude|
|1 (down)||1 (up)||Attitude|
Congratulations, making the NAZA M Lite flight modes work with the DX6i is something many multirotor pilots have great difficulty accomplishing. After this long and confusing step, you are ready to fly your Naza M Lite-equipped multirotor (assuming you’re done building it).