LibrePilot

LibrePilot is a Free software unmanned aerial vehicle project for model aircraft aimed at supporting both multi-rotor craft as well as fixed-wing aircraft. Initially founded by David Ankers, Angus Peart and Vassilis Varveropoulos in late 2009, under the name OpenPilot, it was conceived as both a learning tool and to address areas the developers perceived were lacking in other small UAV platforms. In July 2015 OpenPilot, was forked to create LibrePilot.

The OpenPilot open source autopilot software could be combined with hardware such as an inertial navigation system board, a main control board, a GPS receiver, and a 2.4 GHz serial communications link with the ground station. The OpenPilot software is released under the GPL version 3 license.

Components
The OpenPilot project consisted of two component parts, these are the on-board firmware and the ground control station (GCS). The firmware part of the project is written in C whilst the ground control station is written in C++ utilizing Qt.

Hardware
The current on-board hardware is based on the STM32 microcontroller. There are two physical boards that are part of the hardware, the first is the main OpenPilot board which contains the core microcontroller, SD socket, barometer plus servo connectors and second, the AHRS board which contains the sensor hardware. In other words, the hardware consists of two boards: the microcontroller board (the core) and the sensors board (the AHRS).

AHRS
The OpenPilot AHRS was a 9DOF unit and contains MEMS gyroscopes, accelerometers and a 3 direction magnetometer. Combined with the sensors, the OpenPilot AHRS contains its own Cortex M3 microcontroller which runs a Kálmán filter. Filtered orientation data and inertial measurements are presented back to the main OpenPilot board using an SPI interface.

The OpenPilot AHRS contained the following components:
 * STM32 F1 Onboard (STM32F103C8)
 * 3× ADXRS610 Rate Gyros
 * 1× HMC5843 Magnetometer
 * 1× LIS344ALH 3-Axis Accelerometer