Erle-brain, an open hardware Linux autopilot

Following up from BeaglePilot which meant to port APM to Linux both in the hardware and software side. I am happy today to announce that after several months of improvements, flight tests and pre-series with manufacturers we are launching a commercial Linux hardware autopilot based on this work: Erle-brain.

Erle-brain is sold at 269 € and puts together a BeagleBone Black (rev. C) and the PixHawk Fire Cape in a single package that weights about 75 grams and includes 25+ sensors. The hardware designs are open to anyone that wishes to improve them.


The autopilot has a 4 GB eMMC flash memory that comes pre-flashed and provides:

  • Linux 3.8 kernel compiled with the PREEMPT option (best results we measured)
  • Debian Wheezy file system
  • ROS Hydromedusa
  • mavros ROS package
  • APM running natively in Linux (and linked with ROS through mavros)
  • preconfigured daemons for launching everything automatically, WiFi dongles support



BeaglePilot project

After last summer’s work at BeagleROS, this summer I will be working in the BeaglePilot project. In a nutshell:

BeaglePilot project aims to create the first Linux-based autopilot for flying robots using the BeagleBone and the BeagleBone Black as the “hardware blueprint”. For this purpose the project will focus on integrating ArduPilot (most popular autopilot) in the BeagleBone (Black).

BeaglePilot will be constructing on the work performed here so if you liked  BeagleROS I would recommend you to take a look at it ;).


Where to install Angstrom

As answered in the FAQ, Angstrom should NOT be installed in the BeagleBone Black but in a machine using a Linux distribution (Ubuntu has been used for the project). The cross-compiling process should be done outside the BeagleBone.

Keep in mind new users.


Here’s the final video of Beagle-ROS:

I’m currently working on the recipes to merge some of them with the meta-ros repository so stay tuned to that repo if you’re interested. For now i’ll update the beagle-ros code but eventually I’ll move into the meta-ros code. I’ll keep contributing with code and recipes through this layer (off-GSOC).

Furthermore, i’d like to thank BeagleBoard for letting me participate in this summer session. Really glad.

Special thanks to Koen Kooi.

Recipes update

News regarding the recipes created through the Beagle-ROS project:

Recipe Status (cross-compilation) Test (BeagleBone)
beginner-tutorials Ok Ok
ros-tutorials Turtlesim doesn’t cross-compile. Seems like findQT4 cmake macro is broken Ok*
common-tutorials turtle-actionlib doesn’t cross-compile (turtlesim). Ok*
linux-mpu9150 Ok Ok
bb-mpu9150 Ok Ok
bb-dc-motors Ok Ok
bb-sharp-ir Ok Ok
bb-altimeter Ok Code seems to work but there’re some issues with the sensor data
ros-mpu9150 Ok Ok. Deprecated
ros-bb-dc-motors Ok Ok. Deprecated
WIP: Work In Progress
*Tested what compiles

Also some further work which is not in the scope of the GSOC:

Recipe Status (cross-compilation) Test (BeagleBone)
cmake-modules Ok
control-msgs Ok
control-toolbox Ok
realtime-tools Ok
robot-model collada-urdf and kdl-parser still with issues.
rosconsole-bridge Ok
ros-control Ok
ros-controllers Ok
tinyxml Ok
urdfdom Ok
urdfdom-headers Ok
assimp Ok
orocos-kdl Ok
python-orocos-kdl WIP
libqhull Ok
collada-dom Ok
eigen-stl-containers Ok
geometric-shapes Ok
libglu Ok
octomap Ok
(bold): Packages out of the scope of the GSOC

Most of the recipes are being merget into the meta-ros layer so eventually they’ll all be available from the usual Angstrom sources.