The Drone’s Computing Body

Be Sociable, Share!

These days drones seem flying above all. As we are getting dependent directly or indirectly of the tremendous potential of these flying robots— detailed studying and intelligent approach to them will be fundamental.

The above schematic figure shows us the main components of a UAV and their connection. As we can see from the schematic figure the computing power showed as one of the main internal body part of a drone. We believe that we gonna discuss about the drone’s computing body in a more detailed manner.

Usually these flying machines use their own software driven mind to decide the ways how to perform a task just as they are commanded. Here is their core mind which is tried to be discussed at this section—-Their flight controller.


Flight Controller or Autopilot?

We can easily visualise a UAS (Unmanned Areal System) in another more simplified combinations as :

UAS= A model air craft + Autopilot + a Payload + A software (firmware)


Autopilot = A tiny computer + A GPS + A compass + A barometric altimeter + and Few other sensors


a Payload= A (photo,Video, thermal…) Camera or (LiDAR , Aerial…) system


A software= To program a mission which tell the drone where to fly to. But you can simply do that by clicking a few way points on a the google map interface

using the open source software. A mission can be just as simple as a few way points or they can be slightly longer and more complicated to fly along the edge of some complicated sides of a mission area. what ever your mission is once you programmed it, you simply uploaded to the autopilot system bring your drone to the field and launch it simply by tossing it in the air.

Here we would like to refer to an autopilot as a complete system that enables your drone to fly autonomously to pre-planned, paths way-points as a form of firmware, And a flight controller is just the device that will keep your aircraft stable by computing the best positioning and directions for the whole sytem. However depending on who you talk to these two words used frequently interchangeably.

Drones Flight controllers usually contains one or more CPUs (processor cores) RAM, ROM along with memory and programmable input/output peripherals as components. Where as  autonomous vehicles usually include the components such as positioning systems, sensors, actuators, controllers, cameras, and data repositories that all have different interfaces. In this article we would like to focus on Flight controllers (FC)

The evolution  in a UAV computing capability followed the advances of computing technology which is beginning with analog controls and evolving into microcontrollers, then system-on-a-chip (SOC) and single-board computers (SBC).


Flight controllers

System hardware for small UAVs is often called the Flight Controller (FC), Flight Controller on Board (FCB) or Autopilot (quite sometimes).

The majority of flight controllers also employ sensors to supplement their calculations. These range from simple gyroscopes for orientation to barometers for automatically holding altitudes. GPS can also be used for auto-pilot or fail-safe purposes.

A microcontroller (or MCU for microcontroller unit) is the smallest FC—-a small computer on a single integrated circuit. In modern terminology it has become evolved to a System on a chip or SoC. Microcontrollers are designed for embedded applications, in contrast to the microprocessors used in personal computers or other general purpose applications consisting of various discrete chips.

A system on a chip or system on chip (SoC or SOC) is an integrated circuit (IC) that integrates all components of a computer or other electronic system into a single chip. It may contain digital, analog, mixed-signal, and often radio-frequency functions—all on a single chip substrate. SoCs are very common in the mobile computing market because of their low power-consumption. Their typical application is in the area of embedded systems.


If I just wanted to get flying what do I need?

In this process your drone need to have a brain called flight controller, and as we have seen on the above the flight controller calculates the best position and movement for your drone based on the current situation (position) of the aircraft and (the command received from the pilot if the aircraft is RC— A remotely controlled type).

There is a huge selection out there like commercial ones, professional ones… If you buy a drone the flight controller is there in your new drone, but if you want to change the flight controller or if you need to make your drone by your self, then you have to have more now hows.  For example, the very basic quite popular Chinese DJI made flight controller called NAZA can be an alternative as a beginner.

If I give input or command to my remote controlled quad-copter with my remote control as pitch forward or do what I need to do and all these commands just goes into the flight controller how is exactly that does work?

Flight controller (FC) is a small circuit board of varying complexity. Its function is to direct the RPM of each motor in response to input. A command from the pilot for the multi-rotor to pitch or to move forward is fed into the flight controller, which determines how to manipulate the motors accordingly.

What you have there is, there are some sensors in it. So you are sending some commands to the flight controller and Having that command the controller take that into account together with its own position representation information from the sensors and then does what you asked to do.

They are sensors like gyroscopes, accelerators, GPS units which are being used to tell the microcontroller where it is in the world. For example, if it is tilted or how fast it is turning, and then use that information into account together with the command to make the exact movement as a solution to satisfy the command from the pilot.


What are those sensors aside from our input, that helps the micro-controller to get to know about the position of itself?

The most basic sensors that you have in the most basic set up is the three axis gyroscope (digital) or you could even have a mechanical one. There is a difference b/n mechanical gyroscope and MEMS gyroscope. Because Gyroscopes have evolved from mechanical-inertial spinning devices consisting of rotors, axles, and gimbals to various incarnations of electronic and optical devices. Each exploits some physical property of the system allowing it to detect rotational velocity about some axis. There are three basic types of gyroscope:

  • Rotary (classical) gyroscopes
  • Vibrating Structure Gyroscope
  • Optical Gyroscopes


MEMS (Micro-machined Electro-Mechanical Systems) Gyroscopes:

These are the inertial sensors on your drone which can measure the rotation rate of an object around one linear axis and we have three of them (X-Y-Z). For each axis we have one gyroscope that’s telling you how fast is the drone rotating along the axis—if you are not rotating zero rotating (a position of stability).

MEMS doesn’t know what your pitch is but it knows your rate of pitch. When you put the drone on the ground and plug it in— it takes that position-value as a zero value. But if you were inclining it or rotating it while you plug it in— it would take as rotating or inclining or whatever plugin position you take means zero (stable). So it will try to do that whenever there is a command to be stabled.

With the basic quad copters which having accelerometer (Accelerometers are used in drones for flight stabilisation) you should command to rotate with a certain speed along an axis in order to command to pitch along that axis. So you have to see and correct the levelling all the time manually. Accelerometers measures how fast you are accelerating along an axis or to the ground (along Z).

Systems to control the movement: No matter what a clever jet fighter pilot you may be as a human being it’ll be far from truth to provide a rapid response to UAV systems at the right time.  Forexample controlling the movement of an aircraft may be performed by trained human pilots… however, because of the speed and complexity of flight dynamics of let us say a multi-rotors, human reaction time is too slow to control this movement, or even impossible to control 4 actuators in order to make a quad-copter fly. Therefore, systems are used for such controls. Even in cases where humans can perform these functions, it is often the case that GNC systems provide benefits such as alleviating operator work load, smoothing turbulence, energy savings, etc. That’s why even the past RC air crafts have a second person that is inside the aircraft— the electronic copilot on board of the aircraft. And the copilot has to know how it is flying because it is faster a skilled human pilot, it selects the best move for your drone based on all of these staffs.

NB:   Guidance, navigation and control (abbreviated GNC, GN&C, or G&C) is a branch of engineering dealing with the design of systems to control the movement of vehicles

The open source UAV platforms

There are very open source auto pilots based on Arduino and it is very commonly spread and you can buy it in almost around every corner.

Arduino is open hardware that’s mostly 8-bit autopilot platforms such as ardupilot mega which can be found online very cheaply.


Multi Wii : This have a linear lineage. it has a tiny board with a gyroscope inside it which you can pull it an out and replaced it with an Arduino and plugged in this board in the other one, wrote some software and going fly.


Pixhawk: The other one is Pixhawk as an example the Irish drone that we have at 3D robotics. Modern Autopilots like the Pixhawk require a computer system with a Mission Planning program for planning and setup. However, it is not running the Pixhawk from where in fact it’s running stuff from another project—they have their own firmware for—if you can play around and swap around some parts to another because at the core these boards are actually quite similar interms from what they provide.


The ATmega is a single-chip microcontroller created by Atmel in the megaAVR family. These are various micro controllers like atmega and things from atmega are from different arm vendors in fact. Atmegas are big and they have been used for many years but now are replaced like by CortexM3  32-bit ARM processors and it is said to be like pushing away ATmega out of it when people start to want to do more sophisticated algorithms and spread their deric algorithmic wings.


Open pilot: The other popular one is Open pilot (orange one and black one depending on the vendors). it is an open pilot board in fact that you know another example of an open hardware. Very popular with fpv flyers. First-person view (FPV), also known as remote-person view (RPV)—- flight is a type of remote-control (RC) flying that has grown in popularity in recent years.


PaParazzi UAV: This is an open source project that actually has been out there for quite a while was started 10 years ago when they started to make the out pilots actually fixed wings first and then added quadrotors to the system. What is great about paparazzi is that it is not quad controller or autopilot agnostics but it’s like anything you want to port it to have fun and there is a huge number of different autopilots depending on the application who developed it and they are open hardware. The actual project started with at mega then go to an LPC arm and then to stm32 and there is also port just a pc to run it on Linux directly to completely control. Generally, it is a think pad. Paparazzi’s flexibility is in every aspect. Auto quads and RR UAV PNG’s (Proportional Navigation Guidance) and are open pilot and those that are some of them maybe of various levels we know you’ve got your Linux means and your Ubuntu and then your Debbies and you know as you put more in you can get more out the paparazzi. and it is a kind of more like a gentle. if you comfortable compiling it with your cellphone or something like that you can get a lot more performance out of it.

Firmware and Sensors: Basically you take the whole framware—-the whole paparazzi firmware you downloaded and you configure it to your needs you compile it to the right processor. Running at x86 board is a good example. Its size is 2cmx2cm and having 3 axis accelerometer, 3axis gyroscopes, 3axis magnetometer (to know where the four directions and inclinations as well), barometer and also GPS receivers on board. And this is the basic set of sensors that you need to completely autonomously flight. It should have plugged into the computer and settedup so we can actually start programming this guys get motors spinning and get flying.


We are not  aerospace engineers or we know about this challenging areas through reading and learning from some scientific papers and articles on different websites sites and other paper written resources but mainly we take Wikipedia as our main resource to make the this and other article remember that even-though we did all our possible efforts to avoid the conceptual errors there might be some errors possibly.  where we believe that this article can give the beginners having at least a mind picture reference, and which can encourage them to dig more about the area. Please help us to improve ourselves by leaving your comments about the article just below the article inside the comment box.

Be Sociable, Share!

2 Replies to “The Drone’s Computing Body”

Leave a Reply

Your email address will not be published. Required fields are marked *