Whenever we design a drone, the most important part of it is the flight controller. The stability and function of the drone depends only on the flight controller. Nowadays, there are many flight controllers in the market, so it becomes very difficult to select a flight controller. We select drone flight controllers on the basis of what we want to do with the drone. For example, if we are going to design a drone that will drop some items at a given location, we have to use a flight controller that can reach the exact GPS location. Here, we are going to compare some mid price range flight controllers.
What is Flight Controller?
Flight controller is the brain of the drone, which controls the motors and ESCs in the drone. It is an electronics board in which sensors, processors, communication protocols, transmitter pins are installed. Every part of the drone is controlled by a flight controller. It moves the drone by changing the RPM of the motors. It is a control system that takes input from the sensors and makes the drone fly accordingly. Flight controller purpose is to stabilize the quad copter during flight and to do this, it receives the signal from sensors and send these signals to processor and then it passes control signal to ESCs and the combination of these signals instructs the ESCs to make fine adjustments to the motors rotational speeds which in-turn stabilizes the craft. Once processed, this information is sent to the ESCs which in turn adjust the rotational speed of each motor to control flight orientation (yaw, right, left, up, down, backward, forward).
Comparison of Flight Controllers
In the table given below, we have compared some popular flight controllers. Here, we have compared for flight controllers from $20 to $140.
Boards |
KK2.1.5 |
CC3D |
DGI-NAZA –M LITE
|
APM 2.8 |
Pixhawk 2.4.8 |
DGI-NAZA-M V2 |
Input Voltage (DC) |
4.8V – 6.0V |
4.8V-15.0V |
MC- 4.8V-5.5V VU-7.2V-26.0V |
12V – 16V |
7V |
MC:4.8V~5.5V |
Processor |
Atmel 644PA 8 bit AVR |
STM 32bit with 28 kb flash & 20kb RAM |
----------------- |
ATMEGA2560, ATMEGA32U-2 |
32bit STM32F427 Cortex M4 |
------------------- |
Sensors |
6050 MCU (acc & gyro ) |
Acc & gyro sensor |
Acc, gyro, Barometer, Magnetometer |
Acc, gyro, Barometer, |
Acc, gyro, Barometer, magnetometer |
Acc, gyro, Barometer, Magnetometer |
Programmer |
Not Required (Tune by buttons on it) |
Required |
Required |
Required (Arduino Compatible)
|
Requires (supports Linux/Unix) |
Required |
Type of Copter |
2,3,4,5,6,7,8 |
4,6 |
4,6 |
4,6 |
4,6 |
4,6,8 |
Telemetry (Ext) |
No |
No |
Yes |
Yes |
Yes |
Yes |
Gimbal |
Yes (except octa copter) |
Yes (for quad & hex only) |
Yes (for quad & hex only) |
Yes |
Yes |
Yes |
PC Required |
No |
Yes |
Yes |
Yes |
Yes |
Yes |
Weight (gm) |
26 |
25 |
MC: 25, VU: 20 |
82 |
40 |
MC:27g |
Firmware |
Pre-installed |
Open Pilot |
DJI NAZA |
Ardu copter |
Mission Planner |
DJI NAZA |
GPS (Ext) |
No |
Yes |
Yes |
Yes |
Yes |
Yes |
Now, we are going to compare some mid price range flight controllers.
KK2.1.5 Flight Controller
KK2.1.5 has ATMEL mega 664PA IC inbuilt inside it. It is 8-bit AVR RISC-based microcontroller with 64k of memory. It has inbuilt accelerometer and gyroscope, 6050 MPU, and auto-level function. It has eight motor outputs on right side of the board; we connect ESC here. It has 5 control inputs; these inputs are connected through the receiver. It also has one LCD display in the middle, it will work as a user interface for the drone. Its operating voltage is 1.8V to 5.5V and its input voltage is 4.8-6.0 V.
Its price range is from $20 to $22. This is the flight controller for beginners because it is easy to understand. For this, we do not need to have any programming knowledge. We don’t need any PC for this. We can tune and setup this flight controller through the button on it. In a very short time, we can make it ready for flight. Its connection with the receiver and ESC is very simple. We cannot use KK2.1.5 for single copter. Its flight stability is not good enough for beginners. We can use gimbals for KK2.1.5 drone and gimbal feature is not available in any other flight controller in this price range. We can use gimbal from twin copter to hexa copter only. Without a gimbal, we can fly drone from twin to octa copter.
It is mostly used by beginners. Its flight stability is very low. In this, we can also do surveillance using the camera, but we cannot connect the camera to the flight controller. In this, we can mechanically fit the camera.
PROs:
- It is very cheap flight controller
- We don’t require PC
- We don’t require any programming knowledge
CONs:
- We cannot add any GPS module, sensors, and telemetry to this flight controller
- It does not provide stable flight
CC3D Flight Controller
This flight controller is also for beginners. It is very compact in size, so we can design small drone using this. We can easily program it by connecting it to the computer. PC must require for this. It provides stable flight as compared to KK2.1.5. The Open pilot CC3D flight controller is integrated with a powerful STM32 bit microprocessor that runs at 90 MIPS with 128Kb flash and 20Kb RAM. This flight controller features a high-performance 3-axis accelerometer and MEM gyro meter. The camera stabilization system supports up to 3-axis camera mounts with stabilization and manual control from any of configured receivers.
Its price range is from $14 to $17. It is very small in size and looks like a normal flight controller, but it is a very good flight controller and gives a very stable flight. We can also use a GPS in this flight controller, but we have to install the GPS module separately. To use it, we have to take a computer and write a program in it using the software.
We need a computer to use it. We have to program this flight controller from computer. We get more stability in CC3D than in KK2.1.5. It is used by beginners but it supports GPS, due to which we can use it in GPS based applications. SRD 250 V 3 drone has designed by using CC3D.
PROs:
- It is very cheap flight controller
- We can add GPS module to this flight controller
- It gives stable flight as compare to KK2.1.5
- It supports wide selection of open source firmware
CONs:
- We cannot add extra sensors and telemetry to this board
- It does not give stable flight while using gimbals
DGI-NAZA M LITE Flight Controller
DGI-NAZA – M LITE inherits the high reliability and stability of NAZA-M. The innovative all-in-one design simplifies installation and saves space and weight. It contains inner damping, controllers, 3-axis gyroscope, 3-axis accelerometer, and barometer in its light and small Main Controller. It can measure flying altitude, attitude and therefore, can be used for autopilot/automatic control. The advanced attitude stabilization algorithm not only inherits the outstanding flight stability of DJI products but also provides excellent maneuverability. It is more flexible and stable and gives the hobbyists a wonderful flight experience. It offers three types of control modes: GPS Atti. Mode (with GPS module), Atti. Mode, Manual Mode. The pilot can switch between the three modes to achieve different flight characteristics. It also can adjust automatically within the flight environment and intelligently switch between GPS Atti. Mode and Atti. Mode to make sure the flight is safe and secure.
The plug and play GPS module will greatly enhance the performance for Aerial Photography with accurate Position Hold, Return-To-Home, and Intelligent Orientation Control functionalities. With the GPS Module, the multi-rotor will have position and altitude locked accurately even in windy conditions. Hovering accuracy is approximately 2.5m horizontal and 0.8m vertical.
This is a good flight controller for stable flight. Its price range is from 5500 to 6000 INR. We can use it for only quad copter and hexa copter. Its best feature is that it does not crash if its battery is exhausted. It has an RTL mode which makes the drone land back from where it takes off. This flight controller also supports gimbals. To use it, we have to take computer and write a program in it using software (DJ assistant). It also has a barometer sensor. There is a problem in NAZA that if its application is installed in windows 7, then it gets installed easily but if we install it in window 10, then we face some problems in installing the software here.
It contains inner damping, controllers, 3-axis gyroscope, 3-axis accelerometer, and barometer in its light and small Main Controller. It can measure flying altitude, attitude and therefore can be used for autopilot/automatic control. It is mainly used for Autopilot work and sport flying like drone racing, etc.
PROs:
- It is plug and play type of flight controller
- We don’t need to be worry regarding firmware
- It is supported by largest drone company I the world
CONs:
- Flight controllers software are closed source.
APM 2.8 Flight Controller
It has built-in compass for FPV RC drone, module has the option to use the built-in compass and external compass via a jumper. It allows the user to turn any fixed, rotary-wing. In addition, it turns multi rotor vehicle (even cars and boats) into a fully autonomous vehicle. Meanwhile, it is capable of performing programmed GPS missions with waypoints. One of the main features of APM2.8 is that it is Arduino compatible. We can program it using Arduino IDE software.
Its price range is from $38 to $40. It is an open-source autopilot system. The only feature it has more than cc3d and kk2.1.5 is the barometer sensor so that the drone can maintain the height and fly the drone easily at a height. The process from downloading the software to programming the flight controller is complex at DGI. Here we need to download mission planner software. The APM 2.5 board requires no assembly and is ready for firmware.
PROs:
- We can add external sensors in this flight controller like SONAR, Buzzer, LEDs
- It supports Arduino IDE
CONs:
- It is no longer being supported by the ArduPilot project.
Pixhawk 2.4.8 Flight Controller
Pixhaek 2.4.8 supports 8 RC channel and 4 serial ports. Main feature of pixhawk 2.4.8 is that it supports various user interface for programming and apps for smart phone. It can configure and detect its peripheral automatically. It also supports Unix/Linux like programming tools. It has advanced 32-bit ARM CortexM4 high-performance processors; can run NuttX RTOS real-time operating system. It has 32-bit STM32F427CortexM4 core with FPU the 32-bit STM32F103 failsafe co-processor. It support UART, I2C , SPI, CAN bus interfaces and has ST Micro L3GD20H 16 bit gyroscope, ST Micro X4HBA 303H 14-bit accelerometer/magnetometer, invensense MPU 6000 3-axis accelerometer/gyroscope and MEAS MS5607 barometer sensor. It is the best open source flight controllers, so it has become very popular amongst DIY drone builders. It can be used with the main open-source drone projects, ArduPilot and PX4, and it is completely open source hardware. It means any manufacturer can build and sell the boards but architecture should be the same. There are many of IO ports on the pixhawk so we can easily communicate it with on board computer like Raspberry Pi boards.
PROs:
- It is supported by big open source software project
- We can easily interface it with Raspberry Pi
CONs:
- It is one of the older board. Many times, it shows arming error but it can be solve easily
DJI- NAZA M V 2 Flight Controller
The Naza-M V2 is a powerful flight controller for enthusiasts, commercial and industrial flyers. It is easy to install, simple to configure and above all, extremely stable. Nine types of traditional motor mixes are supported, making it ideal for every setup. 16 point Ground Station is available free for both iPad and PC, without serial number verification. 2.4G Bluetooth Datalink required. The Naza-M V2 boasts the extraordinary stability you would expect of all DJI flight control systems and combines it with unparalleled maneuverability with and without GPS. Built into it are automatic GPS course correction plus GPS and compass interference monitoring, which combine to offer more stable flight and minimal magnetic interference. Forward on a multirotor is normally the direction the nose is facing, which can get confusing when turning, but with IOC switched on, direction is hugely simplified. If a hexrotor or octorotor equipped with a Naza-M V2 suffers a motor failure in flight in attitude or GPS mode, it will maintain its altitude and rotate around the stopped motor.
This allows it to fly safely back home and land. If the connection between the multirotor and the remote control are disconnected during flight, a failsafe system will activate. Provided there was enough GPS signal at the time of the disconnection, the multirotor will fly back to its point of takeoff and land automatically. This feature can also be triggered manually using the One-Key Go-Home function activated using Assistant. Using a BTU with power efficient Bluetooth, parameters can be adjusted at any time through a smartphone without excessive power use. Connection records are automatically stored by the Bluetooth module and protected by password. Parameters can be automatically synchronized to the cloud restored immediately when mobile devices are changed. Storm SRD 6 uses DJI NAZA V 2 as a flight controller.
PROs:
- It is plug and play type of flight controller
- We don’t need to be worry regarding firmware
- It is supported by largest drone company in the world
CONs:
- Flight controller’s software are closed source