Flight controllers are the brains of the drone. There are many different types of flight controllers out there from basic systems that just stabilise the drone to fully fledged autonomous systems.
Many flight controllers originated from RC helicopters where the yaw was controlled using a gyroscope. This is because (as I explained in a previous post) helicopters require torque countering. You could apply a constant force to counter this, which is fine until you increase the power IE you want to climb, more torque will be generated which means the tail rotor will have to change it’s thrust to counter this. The old solution was mechanical and relied on the gyroscopic forces of resistance to movement, exerted by a spinning disk, this force was measured by hall sensors the data of which are sent to the controller, the controller would then change the amount of thrust produced by the tail to counter this movement.
Today as the years passed we now have electronic gyroscopes with no moving components to do the same job however gyroscopes only measure rotation where as accelerometers measure linear acceleration. This video explains:
Today we also have many more sensors that have been developed since the advent of smart phones, such as GPS technologies which have found a way into drones.
In this post I will decide upon which flight controller to use for my project.
The KK board which was designed by KapteinKuk (hence the name) and is a very popular introductory board. It in its self has many variations the most popular being the hobbyking version. It is a very simple board which doesn’t offer much capabilities however it is very cheap it features are:
- Based on Atmel ATmega644PA processor and an InvenSense MPU-6050.
- The 6050 has 3 gyroscopes and 3 accelerometers.
- Has a dedicated micro-controller for handling the sensor outputs which takes load of the Atmel.
- The 8 bit Atmel microcontroller is still under a lot of load.
- The code is be assembled to reduce load on the Atmel but this also reduces the number of developers.
- The interface is the LCD screen on the board.
- Limited functions such as no gps position hold, does not offer autopilot.
The Multiwii gets it’s name from the original which used a wii nunchuck controller for it’s sensors. They were cheap and available, though now since the advent of smart phones sensors have become a lot more available. It’s a it’s a lower middle class board, not quite as good as the APM but it’s cheap and has good functions for it’s price.
- Supports a host of sensor upgrades.
- Based on the Ardiuno.
- Written in Ardiuno.
- Uses an ATmega2560 processor.
- Has the usual gyroscopes plus accelerometers but also boasts a barometer, and an optional magnetometer and GPS.
- Can be configured by USB on a computer.
- Can be configured by attaching a LCD/OLED screen on the field.
- Quite capable with it’s features for controlling UAV’s almost but not as good as a fully fledged autopilot.
- Price is mid range.
The APM is a open sourced fully fledged autopilot which started out as the arudupilot board, which is an Arduino based control board for piloting aircraft. It also matured to be used in rovers, helicopters, boats, everything to name. The code will still run on Arduino boards, so it could be ran on an Arduino mega. The development of this flight control board is the most rapid, funded by 3D robitics the code quickly began to exceed the boards processing capabilities. This means the code for this specific board will no longer be developed as it has reached it’s pinnacle.
- The ATmega2560 is the main processor.
- The ATmega32u4 handles USB functionality.
- The InvenSense MPU-6000 handles gyroscope and accelerometer duties.
- Has all the usual gyroscopes and accelerometers, but also an on-board barometric sensor.
- Interfaces with offboard GPS/manometer.
- Supports a host of peripherals such as sonar.
- Is extremely versatile.
- The code is now complete which offers no advances however it is also extreme well proven and safe.
- High/mid range price.
- Extreme capability: allows fully fledged autonomous missions to be carried out by pre-loading waypoint and mission data or even updating it on the fly using a data downlink.
The Pix-hawk is the most advanced open-sourced autopilot the world has ever seen. Built on the APM 2 since the code of the APM 2 outgrew it’s chip 3D robotics have moved onto the Pixhawk. It boasts a custom operating system and a huge quality of developers, it is the at cutting edge of technology.
- STM32F427 processor, which is a 32 bit ARM Cortex M4 core with onboard FPU!
- Runs on a real time operating system called Nuttx.
- Nuttex is much lighter than Linux or other operating systems, such as used on the raspberry pi or android devices.
- Includes gyroscopes, accelerometers, barometer, GPS, magnetometer/compass, and even offers back up sensors for redundancy.
- Allows many external peripherals, such as sonar, gimbal control, led lighting, everything APM offers and more.
- Has a micro SD card slot for data logging which allows easy trouble shooting, especially on the user end as it can copied online.
- Uses the same mission software as APM but better, allows pre planned missions and autonomous flight.
- Supports telemetry, which means flight infomation can be downloaded to the ground-station, such as position information.
- Massive developer community so more features will be added and there is plenty of support.
- Offered by 3D robotics which are thee industry leader in commercial and hobby UAV’s.
- Very expensive.
I have decided that for my project I will use the Pixhawk for the features stated above. Although it is very expensive those costs are justified due to the benefits which will allow my drone to be competitive with others on the market in terms of capabilities. I feel it is important that no corners are cut on the control system as the safety of the drone depends on it. There is no point trusting your expensive camera system on a cheap controller that is likely to fail, as the consequences are possible disastrous.