Open Source

Project Overview
AdaPilot, started in 2016, is a next-generation Open-Source software project with a reference hardware development kit, created by the AdaPilot Community. It has been designed from the ground up by a community of passionate Ada and ARM developers from around the globe, with its core design principles being quality, safety, and ease of use. It is aimed at providing a DO-178C certifiable safety critical flight control system composed of a single or redundant flight control computer with basic autopilot features, an attitude & heading reference system, a modular & customizable mission controller, a secure data-link, a electronic speed controller, a handheld ground control station and a mission management & planning software. The community can help to contribute to the AdaPilot code written in Ada-SPARK following the Core-Team advices and approvals. The reference hardware development kit forms the base for the AdaPilot environment, and through the use of the CANaerospace aviation bus protocol, the flexibility and integrability with third-party systems are only limited by the imagination and skills of the developers.

The current code base is targeting multirotors up to 8 rotors. However, the platform is flexible and can be adapted to fixed wing or single rotor, as well as for land-based and maritime applications.

Contribute to AdaPilot
Do you have an improvement or addition you would like to contribute to AdaPilot? AdaPilot welcomes your contributions. AdaPilot is a Open-Source community project and there are many ways you can contribute. You can help in development of the flight controller, AHRS, mission controller (embedded firmware) and/or the ground mission manager software. Apart from development, there are many other ways to be part of the project: helping with documentation, flight testing or simply suggesting improvements. This is a community project so please get involved!

Our Slogan: AdaPilot - when safety becomes not an option

Work Packages
The AdaPilot project is structured in "Work Breakdown Structures (WBS)" and "Work Packages". A work package is a building block of the work breakdown structure that allows the project management to define the steps necessary for completion of the work. As such, a work package can be thought of as a sub-project, which, when combined with other work package units, form the completed project. Breaking down the work into work packages allows multiple teams to work simultaneously or sequentially on different components of the project. Each team follows the steps defined in the work package plan and completes them by the specified deadline. When all teams have finished their individual work packages, the whole project comes together and the objectives have been achieved. Read More >>

Reference Hardware Development Kit
The AdaPilot Reference Hardware Development Kit (RHDK) is based on the AdaRacer FCS board featuring a STM32F4 ARM Cortex-M processor and includes all the analog and digital I/O interfaces required to accommodate a variety of vehicle configurations and payloads. Modularity and flexible of architecture is assured through a variety of bus interfaces including CAN Bus, SPI, I2C and UARTs. Various third party hardware modules can be integrated in order to enhance application functionalities and safety features. Read More >>

Reference Software Development Kit
AdaPilot's Software Development Kit builds on AdaCore's GNAT GPL Edition for Bare Board ARM Cortex processors and the AdaPilot Reference Source-Code (ARSC). GNAT GPL for Bare Board ARM Cortex processors provides a complete Ada 2012 development environment, including a comprehensive tool-chain with fully symbolic debugging, and GPS, AdaCore's flagship Integrated Development Environment (IDE). It also includes a fully configurable/customizable run-time library consisting of the "Small Footprint" (SFP) and Ravenscar profiles that are particularly relevant to small embedded systems. The SFP profile corresponds to a language subset with minimal GNAT run-time routines, and the Ravenscar profile is a subset of the Ada concurrency features with an efficient, predictable, small-footprint implementation. The resulting Ada subset has expressive power well beyond that of other languages used for ARM-based devices. The preferred IDE OS are Linux and Mac OS X. Read More >>