Flight Controllers

In this edition of Multirotor Flight we will take a look at some of the more popular Flight Controller Boards (FCB’s) that are currently available on the market, and compare the features that each one has to offer. As we learned in the last Multirotor Flight column, the FCB is basically the “Brains” of a Multirotor model. It sits in between the radio receivers and speed controllers, and uses an array of sensors to detect the position and attitude of the craft, interpreting inputs from the radio receiver, and converting those inputs into the control signals needed to tell the speed controllers how fast to spin each of the propellers. The variation in thrust that is caused by changing the speeds of the motors is what allows us to control a multirotor model that has fixed pitch propellers.

The main characteristic that sets flight controllers apart from one another is the number of sensors they contain and the number of control moments or Degrees of Freedom (DOF) that the controller is capable of. The simplest flight controllers only have 3-axis gyro sensing, which is accomplished by using either three single axis sensors, a two axis sensor paired with a single axis sensor or a single sensor that is capable of measuring Pitch, Roll and Yaw at the same time. With only gyros for attitude sensing, the craft will hold position in the short term, but over time, it can drift and constantly needs to be flown to maintain a level attitude. The early KK-Multicopter and GAUI GU-344 are examples of these 3-DOF type controller boards. Figure 1 shows one of the early KK-Multikopter boards that used 3 separate single axis gyros for attitude sensing.

Figure 1
Figure 1

The next class of Flight Controller Boards adds accelerometers that can sense changes in movement front to back, side to side and up or down. Accelerometers can also sense the force of gravity, so when the craft is in a stable hover, it knows which way “Down” is. This information can be used to automatically level the craft when the control sticks are released when the FCB is operated in an “Auto-Leveling” or “Stability” mode. These types of FCB’s can sense movement in 6 different directions and are referred to as 6 Degree of Freedom or 6-DOF boards. The OpenPilot CC3D, Hoverfly Sport, and most basic MultiWii boards are examples of this type of controller.


The next step up in features for FCB’s typically adds a Magnetometer and a Pressure Sensor to bring the total Degrees of Freedom up to 10. Figure 2 shows a Quadrino Zoom board, which has 10-DOF, with all of the various sensors labeled. The pressure sensor can accurately measure the minute changes in air pressure that occur as you go up and down in altitude, and use this information to accurately hold the craft at a desired altitude. The one downside to using air pressure to calculate altitude is that during a long flight, or if a pressure front comes through the area where you are flying, the barometric pressure can change and this can introduce considerable error into the altitude calculations.

The Magnetometer can sense the magnetic field of the earth and give you compass heading capability. Some of the newer boards and newer firmware options take advantage of this ability to sense compass directions and offer what is called a “Head Free” or “Intelligent Orientation Control” mode. When a multirotor gets too far away from the pilot, it is easy to lose orientation and not know which way the craft is pointing. With a “Head Free” mode, the FCB remembers which way North is when the craft is powered up, and constantly compares this to the orientation of the gyros. The FCB then compensates for this an automatically offsets the controls based on the direction the multirotor is pointing. Normally, if the craft is pointing straight away from you, and you push the control stick forward, the craft goes forward. Push the stick left, and the craft goes left. However, if the craft is in front of you pointing to your left and you give it forward stick, it will go “Forward” from its perspective, but that is actually to your left. Likewise, if you move the stick to the right, the craft will go to its “Right” which is actually away from you. Experienced pilots compensate for this in their head without having to think about it, but for new pilots that are just learning to fly, it can cause serious orientation problems and lead to crashes.

With a Head Free mode, in the above example, if the craft is pointing to your left, and you move the control stick forward, the Magnetometer senses that the craft is rotated 90 degrees from the orientation it originally took off from, and it compensates for this and actually sends a “Right” command to the motors, and from the pilots perspective, the craft goes away from them in the desired direction. This feature can take a lot of workload off a pilot that is trying to hold a position while rotating the craft in different directions. This comes in very handy when you are doing aerial photography and need to point the camera in specific direction while you fly in a different direction. When using this mode there is one important thing to remember, you must always keep the craft in front of you. If you let the craft get behind you and you have to turn around, all of the controls will be backwards! The newest firmware for the Quadrino Zoom, DJI Naza and DIY-Drones APM 2.x series boards all allow this feature.

The top end controller boards will also include a GPS antenna, and this gives these FCB’s the ability to sense and know exactly where they are in space at any point in time. The GPS feature, with the right firmware, can enable the multirotor to accurately hold position with an accuracy of just a few feet. It can also allow the craft to fly a pre-programmed course to specific waypoints, at specific altitudes, pointing in specific directions. Since the GPS system can also accurately record the exact position of the craft just before takeoff, most of these types of FCB’s can also perform an automatic “Return To Home” command and safely land the craft right where it took off from with no input from the pilot. Many of the 10-DOF FCB’s have a GPS module available that can be added to gain GPS functionality. The DJI Naza, DIY-Drones APM 2.x, and the Quadrino Zoom board all have GPS add-ons or options available. Other higher end systems, such as the DJI WooKong controller, come with the GPS antenna included.

Another feature that is very important when using Multirotor Flight Controller Boards is the type of user interface that is available. There is a huge variation in the types of Graphical User Interfaces, or GUI’s, that are available for programming the options on the FCB’s. The most basic interfaces are simple DOS Command Line prompts that only allow the user to import a pre-written version of firmware to the board. All of the changes have to be made to the code itself before it is loaded into the microprocessor on the FCB. These types of interfaces are the most complicated to use, but offer total control of all programming aspects of the craft. These types of interfaces are most commonly used by developers of the FCB or hard core programmers that are familiar with the actual firmware code.

Figure 3
Figure 3

Most multirotor pilots prefer a GUI that allows a simple USB interface to the control board, and the ability to simply click and drag the cursor to make changes to the programming. The MultiWii project has a pretty basic GUI, shown in Figure 3, which allows the user to change PID gain settings, program control switch positions and flight mode assignments. This interface also will stream output from all of the sensors, so you can verify that they are working, as well as give a basic graphical representation of the pitch, roll and yaw of multirotor model.

The DJI products have a nice GUI that also includes built-in instructions for each section of the interface. All you have to do is hover your mouse cursor over a parameter that can be changed and the appropriate instructions pop up on the right side of the display. The transmitter stick calibration screen for the DJI Naza FCB is shown in Figure 4.

Figure 4
Figure 4

One of the better GUI’s that I have seen is the Mission Planner interface for the APM 2.0 and 2.5 boards from DIY Drones. With the GPS add-on installed, when you boot up the board with the interface running, it will give you Google Maps view of exactly where you are. Figure 5 shows the GUI and gives the exact location of the tech lab in my office building on Google maps! It is truly amazing how accurate these new GPS Systems are. Figure 6 shows the configuration screen with all of the various PID setting and options that you can set. Once all the adjustments are made, you simply click the “Write Params” button and all the new variables are loaded into memory.

Figure 5
Figure 5
Figure 6

In the end, the FCB that you choose for a specific project depends on the mission of the model, and any future upgrades that you may want to add at a later date. If you are simply flying a multirotor for fun, and just want to tear holes in the sky, any good 6-DOF board will work great. If you want to do FPV work or aerial photography, then one of the 10-DOF boards will provide you with more control over your flight, and if you choose one that has an optional GPS add-on available, you can upgrade it later if you find that you need the ability to do position holds, or want to be able to return-to-home at the flick of a switch. Figure 7 is a chart that gives a brief comparison of several popular Flight Controller Boards that are currently available, and are being used by a large number of people. Depending on your project, one of these will certainly work well for you, and there will be plenty of information on the internet in various forums where you can get questions answered.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s