Drone Software

Bilderesultat for Drone software

With the more advancement of hardware there comes the potential for drones to increase efficiency and perform new tasks, it’s the software side of things where most of the action is happening right now. Manufacturers are developing drones capable of flying for longer and with more precision. This means that the software has to keep up, not only with hardware capabilities, but with the demands of an expectant public [Source]. One of the need for software is for about making drones smarter, and includes things such as flight planning, automatic take-off and landing, obstacle avoidance, GPS-guided navigation and the ability to autonomously reach a given location via a series of waypoints. As a drone user these Software enabeles as to govern the interaction between drone and pilot, making the drones smarter and processing and analysis of the data acquired by the pilot which is  pretty important.  We emphasize the need for knowing more about these very important parts of the drone system in detail as follows.

General Definition:

By definition, software is any set of machine-readable instructions that directs a computer’s processor to perform specific operations. Generally speaking, application software gives you the ability to get the data that you are looking for, how and when you need it. The kind of software we have in or around drones performs special operations like: Optic flow, obstacle avoidance, simultaneous localization and mapping (SLAM), decision-making, flight planning…etc.

Drone software called the flight stack or autopilot sometimes. They are the magics playing roles in any hardware/unit in the drone’s hardware systems.

That makes these hardware systems coordinated or connected to each other or be enabled and transforming the hardware systems to be alive and be ready to take any order from the pilot or even to make sure communications between the pilot and the drone—to enable the drone performing the task as they ordered— as a whole transforming the drone from simple flying toys to smart flying robots and many more…

Drones are real-time systems (i.e. they have systems subject to a “real-time constraint”, example from event to system response)—that require rapid response to their changing sensor data. This also is a requirement which should be fulfilled by the different communications of software utilized in the drone’s hardware system.

Some of the main examples of  the drones’ hardware systems with their systems software (operating systems) that can be mentioned here are: Raspberry Pis, Beagleboards, etc. shielded with NavIO, PXFMini, etc. or designed from scratch such as Nuttx, preemptive-RT Linux, Xenomai, Orocos-Robot Operating System or DDS-ROS 2.0.

Note the following two examples…

Raspberry Pis shielded with NavIO

Raspberry Pi—shielded with NavIO makes RTK on autopilot possible, here you just need a right GPS module. A GNSS receiver with carrier phase measurement called U-blox is used. What makes U-blox special among

other receivers is it’s ability to output not only coordinates, but also raw

measurement data that can be used as a raw data for the Raspberry Pi with Navio to RTK processing mostly controlled with their Arduino library, but can also use any software libraries to extend the functionality of your possible autonomous robotic project.

Generally talking about the main unit of storing and running a program in drones eventhough microcontrollers are efficient their development and debaging process is very complicated.
With raspbery pi its different. You can run any of the numerous existing lines of applications or you can use any programming language to create your own.

Autopilot is more than Just a computer—In it’s ways to determine its positions, to sense the world and to control actuators. And Raspberry pi is more powerful and extendable and the folks in EMLID and others take these advantages from raspberry pi to bring NAVIO and to give raspberry pi all this capability. Navio runs well proven Ardupilot flight stack and can operate in different flight modes including manual, stabilize, follow-me and auto. Code is executed directly on Raspberry Pi with real-time Linux kernel and you can run your applications alongside.

NAVIO comes with open source drivers examples and tutorials to get started easyly.


PXFMini hardware autopilot module.    source: erlerobotics.com

The hardware part of PXFmini is an open autopiolt daugter-board for the Raspberry pi that allows everyone to create a ready to fly autopilot with support for dronecode’s APM flight stack. Today ArduPilot is almost entirely C++ and has evolved to run on a range of hardware platforms and operating system including the Pixhawk/PX4 line of autopilots, Parrot’s Bebop2, Raspberry Pi based flight controllers like NAVIO2, ErleBrain and Qualcomm’s SnapDragon. Eventhough it has been designed specially for the Raspberry Pi Zero it is also compatible with other models of Raspberry Pi family. The PXFmini daughterboard is smaller in size (15grams) yet embeds all the most  elecronics complaying the drones components—including 3 axes gravity sensor, 3 axes gyroscope, 3 axes digital compass, pressure sensor, temperature sensor and an ADC.  DIY drones community working with the others open source communities to come up with the de facto standard UAVs flight stacks—the popular APM and PX4 autopilots.

Note the definitions of following two terms


APM flight stack:

it is a flight stack for Arduino Pilot Mega Autopiolt daugter-board: A board made to carry the autopiloting system. It was started in 2007 by members of the DIY Drones community.

Flight stacks

Flight stack is a collection of guidance, navigation and control algorithms for autonomous drones.

Dronecode is an open source project governed by the Linux Foundation—building and supporting a community of developers and providing them the resources and tools to help them make innovative advances in drone technology. The ultimate goal is to maximize adoption of the project’s code for the benefit of users with cheaper, better, and more reliable drone software. It serves as a trusted and neutral home to become the de facto standard platform for drone/robotics open projects. Take a look the following typical examples.



Xenomai is a real-time development project of a Free Software framework adding real-time capabilities to the mainline Linux kernel. project launched in August 2001. It cooperats with the Linux kernel, to provide a pervasive, interface-agnostic, hard real-time support to user space applications, seamlessly integrated into the Linux environment. In 2003 it merged with the Real-Time Application Interface (RTAI) project to produce a production-grade real-time free software platform for Linux called RTAI/fusion, on top of Xenomai’s abstract real-time operating system (RTOS) core.

Xenomai can help you in:

  • designing, developing and running a real-time application on Linux.
  • migrating an application from a proprietary RTOS to Linux.
  • optimally running real-time applications alongside regular Linux applications

Drone software may vary based on the key factors in:

Drone software can classified according to their many unique characters and/or functionalities. For example:

  • their architecture,
  • app-based or desktop based,
  • their application,
  • their platform (military, civilian…),
  • their service (Industri, Application),
  • their type (VTOL, Fixed Wing, Rotor…)..etc

Drone software are developed according to the diverse needs of different applications paused by the drone users. Generally software can be seen in to their three main divisions. In the following section we’ll try to see the most general three drone flight stack layers. They are Firmware, Middleware and operating System.  They seem the same seeing their basic features, because a single or a collection of computer programs assigned with some task to do on the machine—unless we see their specific applications—when, where and how we use them, and their outcomes.


Definition: firmware is a type of software that resides or embedded specifically on a piece of hardware and provides controlling, monitoring and data manipulation to the hardware (eg. engineered products and systems) on which it is hosted. i.e. It is a program which gives life to the device hardware or the combination of persistent memory and program code and data stored in it.

Firmware’s functionality ranges from performing basic tasks like minimal I/O controls to full fledged software system running with simple or no OS, with scheduler, memory management, etc. It is common in the hardware of devices such as optical drives, a router, a camera, a scanner or drones and others. Firmware is programmed into a special memory contained in the hardware itself and may be upgraded periodically to fix bugs and to add new functionality to the hardware component. It’s special operations in drones ranges from machine coding to processor execution, memory access…

Examples :

STM32CubeMX, by STMicroelectronics, a freeware package for Windows, Mac OS X and Linux that is a graphical software configuration tool that allows generating C initialization code using graphical wizards. STM32CubeMX included in STM32Cube.

It also embeds a comprehensive software platform, delivered per series (such as STM32CubeF4 for STM32F4 series). This platform includes the STM32Cube HAL (an STM32 abstraction layer embedded software (NB: embedded software is computer software, written to control machines or devices that are not typically thought of as computers.), ensuring maximized portability across STM32 portfolio), plus a consistent set of middleware components (RTOS, USB, TCP/IP and graphics). All embedded software utilities come with a full set of examples.


A free companion of Pix4D software, Pix4Dcapture allows you to create flight plans for capturing image data. Post-flight, easily produce georeferenced maps and models in Pix4D desktop or cloud software.

MAVLink (Micro Air Vehicle Communication Protocol):

MAVLink is a protocol for communicating with small drones. It is used mostly for communication between a Ground Control Station (GCS) and Unmanned vehicles, and in the inter-communication of the subsystem of the vehicle. To ensure message integrity and ensuring the agreement of sender and receiver—an error-detecting code called CRC is calculated to every message. Here every message is identified by a unique ID, and the payload containes the data from the message. An XML document in the MAVlink source having the definition of the data stored in this payload also describes the logical ordering of the fields for the protocol. Where as the actual wire format (and typical in-memory representation) has the fields reordered to reduce Data structure alignment issues.
The pplication of MAVLink is to transmit the orientation of the vehicle, its GPS location and speed. Also used as the communication protocol in many Autopiolot projects like: ArduPiolot,Parrot AR.Drone,PX4FMU, pxIMU…etc also in some long range transmitters, and softwares.

PX4 Flight Stack:

PX4 is organized by a series of nodes that use a semantic channel like a “gesture” or “location” to communicate with a system state in a broadcast communication network. The software is divided into four main levels:

Application API: This interface is provided to application developers, such as ROS or DroneAPI. This API is designed to streamline, flat and hide its complexity as much as possible.

Application framework: This is the default assembly (node) for operating the underlying flight control.

Library: This layer contains all the system libraries and basic traffic control functions.

Operating system: The last layer provides hardware drivers, networks, UAVCAN and fail-safe systems.

The PX4 flight stack is a collection of guidance, navigation and control algorithms for autonomous drones. PX4 can integrate via two different APIs with ROS:

  • Either natively each application as a ROS node or when running exclusively on the embedded autopilot via MAVLink mavros (MAVLink to ROS gateway with UDP proxy for Ground Control Station).
  • APM/ArduPilot can integrate with ROS via MAVLink mavros.

The PX4 includes controllers for fixed wing, multirotor and VTOL airframes as well as estimators for attitude and position.It is a complete autopilot solution for multicopter and fixed wing aircraft. It consists of several customizable software packages. It is a complete flight control solution for multicopters, planes, VTOL aircraft or any ground robot.


Modern, mobile and desktop user interface to configure the system and execute flights.

Firmware hacking: This means to create an unofficial new or modified (“aftermarket”) version of firmware in order to provide new features or to unlock hidden functionality. This action can be ranging from as good as expanding the functionality for good, or as bad as drone wireless attacks like hijacking other’s drone by disconnecting the RC out of control.




Generally middleware is a piece of software that usually runs in the background. It is essentially is the “glue” that holds two other pieces of software together and allows them to effectively communicate, or is ‘a middle man between the OS and the hardware component’. In Platform as a Service industries many platforms offer software components as middleware which makes it easier for software developers to integrate into their applications to help simplify speed up the whole process and also to implement communication and input/output. Any driver installed on an OS can be considered middleware.

The distinction between operating system and middleware functionality is, to some extent, arbitrary. While core kernel functionality can only be provided by the operating system itself, some functionality previously provided by separately sold middleware is now integrated in operating systems. A typical example is the TCP/IP stack for telecommunications, nowadays included in virtually every operating system. At the other end of the scale, the boundary between middleware and application has also moved. source here…

When we come  back to drones middleware used in collections of tools, drivers, sub systems and libraries that relate to flight control, navigation, radio, control management and ground control station(GCS)—communication and data sharing between them. They make software layer that lies between the operating system and applications on each side of distributed system in the over all drone. It contains device drivers that handle sensors and other peripherals. It also contains flight control libraries such as RC protocols, math utilities, and control filters.  On the other hand the benefit of a middleware is that you can select which versions or implementations of specific algorithms for example to use in your Ground Control Station (GCS) solution, so you get more options for customization and integration of tasks.

 PX4 Middleware

Controls the drone motors, integrates the sensors, etc. It is A highly efficient, lightweight and blazing fast robotics communication toolkit.

The PX4 Middleware consists primarily of device drivers for embedded sensors and a publish-subscribe based (a messaging pattern where senders of messages, called publishers and receivers called subscribers) middleware to connect these sensors to applications that running the flight controls.
The use of the publish-subscribe scheme means that:

  • The system is reactive: It will update instantly when new data is available
  • It is running fully parallelized
  • A system component can consume data from anywhere in a thread-safe fashion


Drone middleware is a middleware project for drones which is under development. It is with a modified version of the very permissive BSD license with aims to become a platform for developers, researchers and organizations that want to integrate uav data with their own processes, especially for more dynamic missions where the flight plan and circumstances change all the time, like in SAR operations.

The drone middleware can also be used to separate the usual concerns of a GCS and provide a testing and research bed on how those sub-processes can work together. This stimulates creating libraries in the process, which makes reuse in the same project and in different projects a lot easier.

The middleware also specifies a set of basic data messages that are received from other systems, like drawing lines, icons and areas that are used to specify search areas, no-fly zones or points of interest to circle. This supports the uav operator to replan their flight, as they have that data on-screen already.  It has many very interesting objectives behind this project source…


Operating system


An operating system (OS) is system software that manages computer hardware and software resources and provides common services for computer programs. All computer programs, excluding firmware, require an operating system to function.

An operating system for drones combines hardware, software to enable optic flow, obstacle avoidance, SLAM, decision-making and enable drone pilots to safely operate drones.

It includes on-aircraft hardware, and software enabling autonomous flight; Ground Control Station Software, aircraft flight planning, control, and monitoring; and Configuration Manager, software that enables operators to configure hardware and software for applications.

It is a comprehensive set of technology helps drone pilots companies in capturing and analyzing valuable aerial data for a wide variety of commercial applications, including infrastructure inspection, land management, public safety, environmental monitoring, surveying and mapping, precision agriculture, search and rescue, and wildlife conservation, photography.


ROS, Nuttx, Linux distributions, Microsoft IOT examples of operating systems.

A driver  is usually part of the operating system of the flight controller that performs specific task of controlling a hardware component like display or usb controller, etc, and gives a interface to use the hardware by Operating system and applications.
Operating system will dictate a standard design and interface for the driver to adhere, like to initialize/deinitialize the hardware, or to read/write to the hardware, or to do any hardware specific operation, etc  all of which performed using the middleware.


The Robot Operating System (ROS) is a set of software libraries and tools that help you build robot applications. From drivers to state-of-the-art algorithms, and with powerful developer tools, ROS is a partner project of Dronecode, with support for computer vision, navigation and drone simulation environments.

ardrone_autonomya ROS driver

ardrone_autonomy is an example of a drone software developed in autonomy Lab of Simon Fraser University by Mani Monajjemi and other Contributors .

ardrone_autonomy is a ROS driver for Parrot AR-Drone 1.0 and 2.0 quadrocopters. This driver is based on official AR-Drone SDK version 2.0.1. ardrone_autonomy is a fork of AR-Drone Brown driver.

The other example of ROS software is hector_quadrotor:

hector_quadrotor contains packages related to modeling, control and simulation of quadrotor drone systems

Overview- hector_quadrotor

This stack provides packages related to modeling, control and simulation of quadrotor drone’s systems. The following packages are available:

hector_quadrotor_description provides a generic quadrotor URDF model as well as variants with various sensors.

hector_quadrotor_gazebo: contains the necessary launch files and dependency information for simulation of the quadrotor model in gazebo.
hector_quadrotor_teleop: contains a node that permits control of the quadrotor using a gamepad.
hector_quadrotor_gazebo_plugins: provides plugins that are specific to the simulation of quadrotor UAVs in gazebo simulation.


NuttX is a scalable Real-Time Operating System (RTOS) used in drones from 8-bit to 32-bit microcontroller environments. Real time systems are critical for flight control performance and safety, as they guarantee that flight control tasks will be completed in a certain amount of time, and are essential for the safety and time-critical performance of drones .

The most common NuttX-supported platforms:
  • Almost all ARM from ARM xxx to ARM Cortex-xxx
  • Atmel AVR
    • Atmel 8-bit AVR (AT90USB, ATmega)
    • AVR32
  • Freescale M68HCS12
  • Intel
    • 80×86
  • MIPS
    • MicroChip PIC32MX (MIPS32 24Kc)
    • MicroChip PIC32MZ (MIPS32 M14k)
  • Misoc
    • LM32 (Qemu)
  • Renesas/Hitachi
    • Renesas/Hitachi SuperH
    • Renesas M16C/26
  • RISC-V
  • Xtensa LX6
    • Expressif ESP32
  • Zilog
    • Zilog Z16F ZNeo
    • Zilog eZ80 Acclaim!
    • Zilog Z8Encore!
    • Zilog Z80


Most Common Planning and Post Processing softwares and services In  Drone Data Collection


eventhough it doesn’t give you a preview of what the camera sees as it is its fine that you can switch between the two. It does a pretty good job with the 3D map.
Pix4D also seem to be the only one that offered software which you can run with your computer to do your own processing and also make it easy to make your own 3D video fly through it. It also automatically outputs a pdf with the full report of the landscape and mapping process.
FPV camera watchs it differently it takes over to different levels which gives you your 3D maps out of that. It can basically showing a time laps. It’s 3D processing can take many overlaping photographs and does a pretty good job except it sometimes has some fryking elements up in the sky togather with the real 3D objects. It still invite us so it doesn’t have a lot of options suitable for 3D mapping with the drone.

Drone Deploy

Drone deploy needed few photos to have a result of 3D good 3D view. It looks like it has nice options with nice suitable 3D maping environment with trying.It has some esues with elevations specially with less overlap persentage and fewer photos for a project. But considering what it had it is pretty good. it has functions tools like top view distance, location, elevation, area, volume or manage all these extra options with its 3D environment.

The good thing about dronedeploy is you can draw your plygons with different shaps. It doesn’t have to be a rectangle or a square pix4D does have to be a rectangle or a square so you may cover more area than you need. the more overlap is the better because if you don’t get enough overlap you’ll not gonna get the quality of accuracy the you actually need.


ALTIZURE needed few photos to have a result of 3D good 3D view as drone deploy do. Its 3D interface is very interesting and have good tools to control the 3D aspect of the project.


This is the only environment that had a pencil dronwing interface as an option, But there are no some 3D options or tools to do editing or riding some other actions like exporting the files in different file formats yet in the 3D environment.



The DroneMapper system is a cloud based imagery processing service that turns your 2D aerial images into high resolution geo-referenced Digital Elevation Models, Digital Surface Models, Orthomosaic Maps, 3D Point Clouds and more. Our system offers a wide array of photogrammetry tools including intrinsic calibration, camera adjustment, advanced aerial triangulation, bundle block adjustment, imagery rectification, geo-referencing, and flight tracking at a fraction of the traditional cost. The platform generates very high resolution results with off the shelf consumer quality cameras and affordable UAV hardware. Any UAV or Drone platform is supported with an attached flight controller log, or the pilot may simply geotag each aerial image.

 DroneMappers are a Colorado based company Software as a Service (SaaS) system that allows UAV (drone) or manned aircraft pilots to upload and manage their imagery processing through this web based interface. They process up to 15 images for free, building a very high resolution geo-referenced DEM, DSM, and Orthomosaic. The resulting output is loaded into any of the popular GIS software packages allowing for accurate contour generation, length, area, volume, cut, fill and elevation measurements….


We know that software issues in drones are the biggest part in drone technology. These are some of the issues in connection the software that we use in the drones world. Honestly, we are not experts in this area. As drone users we fill we need to have some information that can help drone users to know something about drone software as an introduction and take initiatives to gather all the  knowledge distributed all over the internet and other resources even though we take Wikipedia as our main resource to make this and other article.
Remember that even-though we did all our possible efforts to avoid the conceptual errors there might be some of them still possibly.  Where we believe that this article can give the beginners having at least a mind picture reference, which can strike interest and encouragements 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. Let us know if you have any questions or want any clarification on any of these software types or anyone else out there and we will try our best to help you out!

Drone Sensors


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. Our main purpose in this article will be discussing the drones sensors in a more detailed manner.

Sensing and actuation systems contain sensors to observe the environment and actuators to influence it. Over all if  we see sensors in a broader sense. We need to know more about them not only for they are the main components of drones and other land surveying equipment, but also for they are a crucial component of any intelligent control system in the now a days smart things like smart cities,Smart Environment,Smart Water,Smart Metering,Security & Emergencies,Smart Agriculture,Smart Animal Farming… which means  living in a modern society sensors getting to controlling all our daily live situations directly or indirectly—We ordained to know about sensors also even just as being one of a smart city dwellers.


Sensors are devices that detect physical properties in nature and convert them to quantitative values for actuators and control systems. These physical properties can be specific inputs like light, heat, motion, moisture, pressure, or any one of a great number of other environmental phenomena. The output is generally a signal that is converted to human-readable display at the sensor location or transmitted electronically over a network for reading or further processing.

Involvement of Drones in Remote Sensing

Drones are used as platforms to put the different remote sensing sensor systems.  Knowing remotesensing is a science which really is fastly growing specially at its last decade of age. The introduction of Drones to remote sensing as a platform is so aggressively invading most areas of the remote sensing. Surprisingly with this simple but relatively cheapest platformed there comes some clear improvements in some aspects as well.  For example: Few years a go having orthophoto data maps with as big scale as in today’s drones remote sensing systems providing was almost a dream.  Even if it was possible it would not be as cheapest and as easy as we are doing using drones today. This trend forecasts already what it will be liked the future’s relationship between all the geo professionals and the drones—Which is our only driving factor to focus mainly in to get to know more about this flying machines.

Drone sensors by we mean here is sensors in drone’s body—the sensor systems that make up the drone itself. Drone sensors can generally classified as proprioceptive,  exteroceptive,  exproprioseptive sensors. Sensors classifications of drone— that will be an article coming soon. But first,

Sensors in the Drone’s Body

In today’s fast growing drone market, sensor technologies are often the overlooked secret sauce inside. Some people may think it is quite technical to discuss about these bodies. However since we believe that even a little knowledge about drone’s sensors helps us to approach, communicate and to use our drones accordingly we prefer to take up the issue here as follows.

fig 1 the main internal body components as shown schematically (taken from Wikipedia)

The above schematic figure shows us the main components of a UAV and their connection. As we can see from the schematic figure the Sensors  showed as one of the main internal body part of a drone. We see modern drones incorporating many sensors every year to in-power them to more and more autonomous. However We believe that we gonna discuss about the  main drone’s Sensors like Accelerometer, Gyroscopes, Inertial Measurement Units (IMU), Compass/Magnetometer, Pressure/Barometer, GPS and distance sensors in a more detailed manner.


Accelerometers are used to determine position and orientation of the drone in flight. These small usually silicon-based sensors play a key role in maintaining flight control. While it’s most common applications are: in tilt sensors in static application, in Vibration analysis, and to fulfil the INS system.

Accelerometers measure(returns signal proportional to… ) acceleration forces. These forces may be as static as the constant force of gravity pulling any object downward, or they could be dynamic – caused by moving or vibrating the accelerometer.

Their Transformations

There are many types of accelerometers developed and reported in the literature. The vast majority is based on piezoelectric crystals, but because of they are not so compacted and too big People attempted to develop something smaller, that could increase applicability and started searching in the field of microelectronics. In this endeavor MEMS (micro electromechanical systems) accelerometers are developed. [Researches indicate that MEMS can be manufactured in Silicon, in polymer, in  glass, in quartz or even in metals].

illustrating the concept

Accelerometer can measure(returns signal proportional to… ) acceleration indirectly from measuring change in capacitance. It has a mass attached to a spring which is confined to move along one direction and a fixed outer plates. When an acceleration in a particular direction will be applied, the mass will move and the capacitance between the plates and the mass will change. And then this change in capacitance will be measured processed and it will corresponded to a particular acceleration.

The majority of microelectromechanical system (MEMS) devices must be combined with integrated circuits (ICs) for operation in larger electronic systems. While MEMS transducers sense or control physical, optical or chemical quantities, ICs typically provide functionalities related to the signals of these transducers, such as analog-to-digital conversion of the capacitance in the accelerometers.

MEMS Accelerometers (Accelerometer ICs)


Fig.2 shows the microscopic wafer structure of MEMS


The term used to define micro electro-mechanical systems (MEMS) varies in different parts of the world. In the United States they are predominantly called MEMS, while in some other parts of the world they are called “Microsystems Technology” or “micromachined devices”. There critical physical dimensions can vary from well below one micron on the lower end of the dimensional spectrum, all the way to several millimeters.  Where as there types can vary from relatively simple structures having no moving elements, to extremely complex electromechanical systems with multiple moving elements under the control of integrated microelectronics.

MEMS became practical once they could be fabricated using modified semiconductor device fabrication technologies, normally used to make electronics. These include molding and plating, wet etching (KOH, TMAH) and dry etching (RIE and DRIE), electro discharge machining (EDM), and other technologies capable of manufacturing small devices.

Simply MEMS is a state of the art technology currently micro things like microsensors, microactuators, Microelectronics…can be manufactured.  Microsensors and microactuators are appropriately categorized as “transducers”, which are defined as devices that convert energy from one form to another.  Microsensors helps typically to converts a measured mechanical signal into an electrical signal.

MEMS combines:

 While proof of mass, Suspension mechanism, and Sensing element are the main elements of an accelerometer there are also others like: plate, hinge, restrictor, pyramid, pad, flexure, capacitance fingers and several components that interact with the surroundings such as microsensors. Inside each accelerometer devices there are microscopic mechanical elements that move along with the external forces caused by movement or rotation. These forces spread out further more into numerous components.


Fig. 3 showing the capacitance mimic motion of MEMS  one direction Sensor tech.

In MEMS accelerometers or Accelerometer ICs under the influence of external accelerations the proof mass deflects from its neutral position. This deflection is measured in an analog or digital manner. Most commonly, the capacitance between a set of fixed beams and a set of beams attached to the proof mass is measured. An integrated electronic evaluates the capacity changes and allows conclusions to the occurring accelerations. This method is simple, reliable, and inexpensive.

Integrating piezoresistors in the springs to detect spring deformation, and thus deflection, is a good alternative, although a few more process steps are needed during the fabrication sequence. In piezoelectric accelerometers— MEMS accelerometer apply mainly as tilt and orientation sensor. Here, the electric signal generated from the Piezoresistive patch and the bulk device due to vibration is proportional to the acceleration of the vibrating object.

A compromise between sensitivity and the maximum acceleration that can be measured are the challenges in the designing and manufacturing process of MEMS.

MEMS Gyroscopes (gyroscopes manufactured with MEMS technology)

In normal situation a gyroscope measures(returns signal proportional to… ) changes in tilt, orientation, and rotation based on angular momentum. These are inertial sensors on your drone which can measure the rotation rate of an object around one linear axis of (X-Y-Z). For each axis we have one gyroscope or even one gyroscope for two axes even there can be a gyroscope for the three axes depends on the design. That’s telling you how fast is the drone rotating along the axis—if you are not rotating zero rotating (a position of stability).


To make the flight control modules of drones small, lightweight, and inexpensive, Micro-Electro-Mechanical Systems (MEMS) gyroscopes are used. It is thus a core sensor for flight attitude control and position balancing. The gyros we are talking about here are a rate Gyro types—They cannot determine the angular velocity unlike the normal Gyros do. Remember that in our [The drones computing body] section we also discussed MEMS gyroscopes 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… The main purpose of gyroscopes  here is in measuring angular motion as a form of angular acceleration about one or several axis as an input to control a system. This measurement value is used as an input in the drones  computing body to compute the drones instability compensations.

understanding mems GYROS:

To understand the role of gyro stabilization, it’s important to realize that every drone is constantly being subjected to a number of forces coming from different directions. These forces, such as wind, affect drone’s yaw, pitch, and roll, thus, potentially, making the drone very hard to control.


MEMS gyroscopes can almost instantly detect changes in the position of a drone and the flight controller calculates the compensate for it in such a way that it basically seems unaffected as this procedure done  hundreds of time every second or can hover calmly in place. Modern gyroscopes are manufactured with components between 1 to 100 micrometers in size and often include sensors for multiple axes in a single package.

These are packaged similarly to other integrated circuits and may provide either analog or digital outputs. Although a good accelerometer can do a reasonable job of this unless it’s in free fall as well. They usually shown up alongside accelerometers to improve input speed and accuracy.

More About Accelerometers

 Gyroscope-Accelerometer combinations

In many cases, a single part includes gyroscopic sensors for multiple axes. Some parts incorporate multiple gyroscopes and accelerometers (or multiple-axis gyroscopes and accelerometers), to achieve output that has six full degrees of freedom. These units are called inertial measurement units, or IMUs.

Mems accelerometers Their nature of design

Most MEMS accelerometers operate in-plane, that is, they are designed to be sensitive only to a direction in the plane of the die. By integrating two devices perpendicularly on a single die a two-axis accelerometer can be made. By adding another out-of-plane device three axes can be measured. Such a combination may have much lower misalignment error than three discrete models combined after packaging.

Thermal MEMS Sensors For VideoFilming

By controlling up and down movement, as well as removing jitter and vibration, filmmakers are able to capture extremely smooth looking video. Additionally, because these sensors are more immune to vibrations than other technologies, thermal MEMS sensors are perfect in drone applications to minimize problems from the increased vibration generated by the movement of rotating propulsion fans and propellers.

Inertial Measurement Units

Inertial measurement units combined with GPS gives us (INS—Inertial Navigation Systems) are critical for maintaining direction and flight paths. As drones become more autonomous, these are essential to maintain adherence to flight rules and air traffic control. Please read our [INS—Inertial Navigation Systems page] for a simpler conceptual understanding.

Inertial measurement units also utilize multi-axis magnetometers that are in essence small, accurate compasses. These sense changes in direction and feed data into a central processor, which ultimately indicates direction, orientation, and speed.

Current Sensors

In drones, power consumption and use are important for autopilot to receive a clean power supply. Current sensors can be used to convert the battery voltage from your drone battery down to a as low voltage as your drone can can use,  monitor and optimize power drain, safe charging of internal batteries, and detect fault conditions with motors or other areas of the system.

Current sensors work by measuring electrical current (bi-directional) and ideally provide electrical isolation to reduce power loss and eliminate the opportunity for electrical shock or damage to the user or systems. Sensors with fast response time and high accuracy optimize battery life and performance of drones.

Quad-Constellations—GPS, GALILEO, BeiDou, GLONASS,…


This one is is a mechanism for determining the location of an object in space. Technologies for this task exist ranging from worldwide coverage with meter accuracy to workspace coverage with sub-millimetre accuracy. it provides aircrafts  geographical position, as well as speed and absolute altitude (ASL). It is required for almost any autonomous flight mode like mission, return to home, as well as position hold. There is enough in the internet on the topic, so to keep thing short:


Magnetometers are sensors that you sometimes see in a UAV stabilization systems. We may frequently see them in the high end units rather than in the lower end units.

Magnetometer measures the angles with reference to magnetic north. An electronic magnetic compass is able to measure the earth’s magnetic field and used it to determine the drone‘s compass direction (with respect to magnetic north). This sensor is almost always present if the system has GPS input and is available in one to three axes. Therefore it is a good unit to correct some direction drifts that may happen due to some systematic errors. There cones part is that they easily affected by any magnetic fields or steel materials on the way. Which can introduce a potential error for the system even though there is a way of calibration to minimize error introduced due to these cases.

However currently there are some magnetometer  technology sensors out there, which have superior accuracy and response time characteristics while consuming significantly less power, which are well-suited to drone applications. These prov
ide drone manufacturers with quality data sensing in a very rugged and compact package.

Tilt Sensors

A tilt sensor can measure the tilting in often two axes of a reference plane. In contrast, a full motion would use at least three axes and often additional sensors. One way to measure tilt angle with reference to the earths ground plane, is to use an accelerometer.

Tilt sensors, combined with gyros and accelerometers, provide input to the flight-control system in order to maintain level flight. This is extremely important to do tasks with drones where stability is preeminent, like orthofoto production.

These types of sensors usually combine accelerometers with gyroscopes to allowing the detection of even small variations in movement. Because the gyroscope compensates the drift these tilt sensors to be used in moving applications like motor vehicles or drones.

Mass Flow Sensors

A mass (air) flow sensor (MAF) is used to find out the mass flowrate of air entering a fuel-injected internal combustion engine used to power some drone varieties. These help the engine control unit (ECU) determine the proper fuel-to-air ratio at a specified engine speed, which results in improved power and efficiency, and reduced emissions.

Many gas engine mass-flow sensors employ a calorimetric principal utilizing a heated element and at least one temperature sensor to quantify mass flow. MEMS thermal mass air flow sensors also utilize the calorimetric principal, but in a micro scale, making it highly suitable for applications where reduced weight is critical.

What are Pressure Sensors?

Barometer measures air pressure. A pressure sensor is a device that senses pressure and converts it into an electric signal where the amount depends upon the pressure applied.

The principle here is  atmospheric pressure changes the farther away you are from sea level, then a pressure sensor is employed to give you a pretty accurate reading for the UAV’s height. Most flight controllers take input from both the pressure sensor and GPS altitude to calculate a more accurate height above sea level. Note that it is preferable to have the barometer covered with a piece of foam to diminish the effects of wind over the chip.

Pressure sensors can be classified in terms of pressure ranges they measure, temperature ranges of operation, and most importantly the type of pressure they measure. Pressure sensors are variously named according to their purpose, but the same technology may be used under different names. Evidently the main applications of pressure sensors in Aircraft’s body of all sorts can be :

  • Pressure sensing : While some drones have been developed and sold with ultrasonic sensors, pressure sensors improve the hovering mode of the most basic drones.
  • Altitude sensing:  Since pressure drops with altitude, Pressure sensors can be used to measure altitude as well.

Usually these types of sensors are able to determine the pressure applied to  gas or liquids. Some of the types of pressure sensors in use include gauge pressure sensors and vacuum pressure sensors. Aircraft of all sorts have different applications for pressure sensing. Drones in particular employ altimeters and barometers similar to even the most and least sophisticated aircraft.

The figure above shows Barometer as shown at the bottom of 
a flight controller

Proximity  Sensors

These are sensors being used more and more on drones since GPS coordinates and pressure sensors alone cannot tell you how far away from the ground (thick hill, mountain or any object) you are or if you will hit an object. Their task is measuring the distance between an unmanned aerial vehicle and an object, without physical contact of the object. A downward-facing distance sensor might be based on ultrasonic, laser or LiDar technology (infrared has issues in sunlight). Very few flight controllers include distance sensors as part of the standard package.

These are all the main sensors that we frequently hear about or we use in the drones world and we thought have to be covered in this literature. Honestly, we are not  aerospace engineers we know about this challenging areas through reading and learning from some scientific papers and articles on different websites and other types of 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, which can strike interest and encouragements 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. Let us know if you have any questions or want any clarification on any of these Sensors types or anyone else of drones sensors out there and we will try our best to help you out!

Use and Usability Analysis

Drone buying analysis in terms of  Usability

Hi, buyers well come to this page’

This buying analysis is posted for professional drone buyers having in mind and therefore it will be more important for them who buys a professional drone.

Usability analysis

Usability is the important scientific analysis which most manufacturers should carefully go through at the beginning, in the middle and at the end of their product manufacturing process. I think it is because simple but very important process which helps both the manufacturers and the users in a way that it can help them to lead the way to their targeted product. So It almost be worth to be discussed in the process of manufacturing and using of the products.

Usability— In Designing, Manufacturing and Even Purchasing a Product

As a designer or as manufacturer this process may be seen from the other angel even though all the things in the process that a person should concentrate a head of the path line of the production. Usually it seem that knowing about usability is only about the manufacturer, But we here as a user of a product—it will be so smart idea to consider and employ the methods and process under this scientific procedure to decide which product should a user buy to meet perfect for the purpose at hand.

The purpose of this analysis is obviously to avoid time, money, manpower, and psychological crises from a silly purchasing decision. Next to this w’ll try to discuss the scientific therms and their definitions as they are.

You ,as a buyer,  may wish to know how can usability analysis be helpful usability-user-experience-diagramin the buying process?’ . That is the right question, let us explain about its importance in the buying process.

Let us start by seeing the to different directions in the process of buying and selling things . As we know procedures in buying is the reverse direction of procedure of selling a product. Usually a manufacturer goes through a certain quality assuring analysis having the demand of his/hers customers (buyers) as a model. Except their reverse directions there is a point at which the buying and selling of things will meet together, because the buying and selling steps of  a product are identical as we have shown below. The demand and wish of the buyer always shape the manufacturing process. What I’m trying to show here is that even though buying and selling are in opposite directions they should meet at every steps throughout the procedures of usability analysis except for their opposite journey.

For example: The buyer may start his/hers analysis from the internal circle “is it useful to me?, does it meets my need?” as shown in the figure whereas the manufacturer starts the analysis from the outer circle starting by a question “what looks it like the overall feeling of the buyer about product?”.

Analysis to Buy a Drone x

In this section we will adopt usability analysis process  to  see how we can use it to select a relevant professional drone (drone x) that can best meet the user’s needs.

Utility, usability, likability, coast, acceptability (These are the paradigm of usability and related concepts)

Utility:  Will drone x do what is needed functionally?
Usability: Will user-experienceI actually work with it successfully?
Likability: Will  I feel ‘drone x’ is suitable must be balanced in a trade-off against.
Cost: how much ‘drone x’ costs? does it meet my financial capability? do drone x worth it?…
Acceptability: It will be the last level in the procedure of purchasing when drone x is socially and practically accepted to be bought that means this is to arrive at a decision about buying drone x What are the social and organizational consequences of buying drone x?  on balance when drone x is found to be the best possible alternatives quality wise or what ever one arrived through usability analysis—- will be the limit of the whole procedure in the decision making of purchasing.

The use context—procedures in purchasing a product

That means usability of drone x depends on the dynamic interplay of these four components ((User, task, drone x) Environment). Therefore we use this components in our usability dependent buying process as follows.

When somebody buy something it will always be important to consider the contextual use of that something. This means the buyers should just think about purchasing the right thing, at the right time, in the right place, for the right person and purpose concept. The hobbyist drones may be most useful for the hobbyist but it might be little or even no use for the professional surveyor. What we want to emphasize— the drone buyer should consider here is that contextual analysis should involve as a key factor in buying analysis process.  what are those contexts that we should focus?

contentgintfwho is the user? (user)

What for we use it?  (task)

Where?  (in the jungle? in water and wet area? in higher/lower temperature?) and

When (night? day? in summer? in winter?) will we use it?

The above analysis depends on: Analysing the design of “drone x”  the VDT and its system (VDT is an abbreviation for Video Display Terminal)=distributed computing software, goal of the VDT is to make it as easy as possible for users to deploy)==>(user context)

We consider that usability of ‘drone x’ for individual buyer should be judged:

A) By subjective assessment of the ease of use of the ‘drone x’ design by the individual (Here the buyer can ask   questions like ‘Is the ease of use of the “drone x” design fits perfect for me/user?’), and

b) By objective performance measures of effectiveness in using ‘drone x’ (Does ‘drone x’ performs exactly as my wish?). Evaluation will, therefore, be based on the following criteria:

  • Success rate of ‘drone x’ in meeting the specified ranges the buyer/user’s, tasks and environments
    Ease of use in terms of judgment (e.g. learn-ability , usability, remember ability of the functions, convenience,comfort, effort(does it needs much effort to perform with it?), satisfaction (do I satisfied with it?))
  • Effectiveness of buyer’s use in terms of performance (e.g., time(time consumption), errors (possibility to make error performing with it), number and sequence of activities (how they are sequenced in drone x…), etc.) in learning, relearning and carrying out a representative range of operations with drone x.

We suggest that these analyses should at least be taken into consideration prior to buying every professional drone.

Safety Rules and Regulations

Hi  Buyer 🙂  Wellcome to this page !



Most customs, rules, and regulations at this page are adopted from the USs drone policies. We have tried to adopt the most general safety, rules, and regulations which we thought are very general and works internationally. Please don’t forget that you should refer the local government’s safety, rules and regulations policy before you fly your new drones. In some of the nations also requires a drones classification as  to establish three categories of operations and their associated regulatory regime:

  • Open,
  • Specific and
  • Certified having a drone aircraft piloting certification…

The Open operation category of drones, should not require an authorisation by an Aviation Authority for the flight but stay within defined boundaries for the operation (e.g. distance from aerodromes, from people, etc). The “specific” operation category will require a risk assessment that will lead to an Operations Authorisation with specific limitations adapted to the operation. The “certified” operations will be required for operations with a higher associated risk or might be requested on a voluntary basis by organisations providing services such as remote piloting or equipment such as “detect and avoid”.

Please don’t forget that you should refer the local government’s safety, rules and regulations policy before you fly your new drones. In some of the nations also requires having a drone aircraft piloting certification…


  • Air traffic: UAVs can threaten airspace security in numerous ways, including unintentional collisions or other interference with other aircraft, deliberate attacks or by distracting pilots or flight controllers.
  • Malicious use:  UAVs could be loaded with dangerous payloads and crashed into vulnerable targets. Payloads could include explosives, chemical, radiological or biological hazards. Drones with generally non-lethal payloads could possibly be hacked and put to malicious purposes.
  • Wildfires: In the United States, flying close to a wildfire is punishable by a maximum $25,000 fine. Nonetheless, in 2014 and 2015, firefighting air support in California was hindered on several occasions, including at the Lake Fire and the North Fire.
  • In response, California legislators introduced a bill that would allow firefighters to disable drones which invaded restricted airspace. The FAA later required registration of most drones. The use of drones is also being investigated to help detect and fight wildfires, whether through observation or launching pyrotechnic devices to start backfires.



Ethical concerns and UAV-related accidents have driven nations around the world to regulate the use of UAVs. The following are examples:

  • The Republic of Ireland, The Irish Aviation Authority (IAA) requires all UAVs over 1 kg must be registered with drones weighing 4 kg or more requiring a license to be issued by the IAA.
  • Netherlands, As of May 2016, the Dutch police is testing trained bald eagles to intercept offending drones.
  • South Africa, In April 2014, the South African Civil Aviation Authority announced that it would clamp down on the illegal flying of UAVs in South African airspace. “Hobby drones” with a weight of less than 7 kg at altitudes up to 500m with restricted visual line-of-sight below the height of the highest obstacle within 300m of the drone are allowed. No license is required for such vehicles.
  • Recreational use, From December 21, 2015, all hobby type UAVs between 250 grams and 25 kilograms needed to be registered with FAA no later than February 19, 2016.

The new FAA UAV registration process includes requirements for:

  1. Eligible owners must register their UAV’s prior to flight.
  2. If the owner is less than 13 years old, a parent or other responsible person must do the FAA registration.
  3. UAV’s must be marked with the FAA-issued registration number.
  4. The registration fee is $5. The registration is good for 3 years and can be renewed for an additional 3 years at the $5 rate.
  5. A single registration applies to all UAVs owned by an individual. Failure to register can result in civil penalties of up to $27,500 and criminal penalties of up to $250,000 and/or imprisonment for up to three years.

Commercial use

On June 21, 2016, the Federal Aviation Administration announced regulations for the commercial operation of small UAS craft (sUAS), those between 0.55 and 55 pounds (about 250 gm to 25 kg) including payload.

The rules, which exclude hobbyists, require the presence at all operations of a licensed Remote Pilot in Command. Certification of this position, available to any citizen at least 16 years of age, is obtained solely by passing a written test and then submitting an application.

For those holding a sports pilot license or higher, and with a current flight review, a rule-specific exam can be taken at no charge online at the faasafety.gov website. Other applicants must take a more comprehensive examination at an aeronautical testing center. All licensees are required to take a review course every two years. At this time no ratings for heavier UAS are available.

Commercial operation is restricted to daylight, line-of-sight, under 100 mph, under 400 feet, and Class G airspace only, and may not fly over people or be operated from a moving vehicle.

Some organisations have obtained a waiver or Certificate of Authorization that allows them to exceed these rules. For example, CNN has obtained a waiver for drones modified for injury prevention to fly over people, and other waivers allow night flying with special lighting or non-line-of-sight operations for agriculture or railroad track inspection.

Previous to this announcement, any commercial use required a full pilot’s license and an FAA waiver, of which hundreds had been granted.

Drones users of other nations than the above mentioned please refer your local laws and regulations.


General Safty Rules

  •  Please uses common safety sense when flying and don’t do crazy things with your multi-copters or any R/C aircraft that can result in a potential danger
  • If flying in the USA stay below 400ft AGL! Check flight rules for the country you are flying in. i.e. 300ft max altitude in Canada. (This rule may depend on the local govt regulations)
  • Don’t fly near manned aircraft or within 5 miles of an airport! (This rule may depend on the local govt regulations)
  •  Keep your UAVs in eyesight at all times, and use an observer to assist if needed.
  •  Don’t ever fly over people or expensive property!
  •  Respect the privacy of the property of your neighbors!
  • Do not fly under the influence of alcohol or drugs.
  • Ensure the operating environment is safe
  • Do not fly in adverse weather conditions such as in high winds or reduced visibility.
  • Register online before taking Drones, weighing between 0.55 and 55 pounds to the skies. (This rule may depend on the local govt regulations)
  • Do not conduct surveillance or photograph persons in areas where there is an expectation of privacy without the individual’s permission

Read also the Remote Control Aerial Platform’s (RCAPA) general guide Lines here