Erle-brain, an open hardware Linux autopilot


Hi everyone,

Some of you might have heard about the work we did with BeaglePilot porting APM to Linux both in the hardware and software side. Work we presented at LibreCon 2014 last month. 

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 110 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


Erle-brain has been successfully tested in copters, planes and rovers. Thanks to the contribution of many there're drivers for most of the sensor and we keep working hard to provide support for even more accessories. Here are some of the ones we've been playing with:


Expect more to come :).

Besides doing some hardware hacking we've also been putting time in documenting everything. The APM wiki is great and we love it but we wanted to do it our way so we've spent quite a bit of time creating GitBooks that should provide a walkthrough no matter which is your technical level:



We expect to come up with more material in the next months. Thanks everyone for your support and contributions. We will keep working hard to create amazing Linux autopilots.

Best regards,


E-mail me when people leave their comments –

You need to be a member of diydrones to add comments!

Join diydrones


  • SPI proved to be able to do about 4000+ transactions per second. There's more information in the paper we published. Feel free to read it.

    We chose Debian (personal preference) but we've got prototypes with Ubuntu and other File Systems running as good as with Debian.

    Boot time is about 6 seconds. May take longer depending on the daemons you decide to launch at startup (e.g. web servers, additional network interfaces, etc)

  • Thanks for sharing PWM info. i'm using ehpwm driver i wil share it later.

    What is the performance of Spi (SpiDev)?

    Why the choice of Debian Wheezy, how time takes to boot?

  • I've updated the blog post adding information about how we manage to reduce the vibrations in the boards. It'll be great to hear feedback about this matter.


  • Hugues thanks for the feedback. Fixed the links that were wrong (Erle-copter and Erle-brain GitBooks), now they should be fine.

    Let me clarify that all the content we develop, we do it in the open. Documentation for Erle-brain is and will be open. Our intention is to keep it the same for the rest of the GitBooks. If you take a close look to our repositories you'll see that the sources are over there.

    What you have probably seen is that we've put a small fee in some of them when accessing through GitBook (quite nice actually). This amount actually helps us maintain the docs and keep creating new content. We adopted this method after seeing that many were willing to pay a small fee but only a few to donate. 

  • MR60

    Hello, I tried to download some documentation but gets on a page with a pay button! (or for some other guides, an empty page). I already said many times on this forum how frustrated I am not to find documentation when developers develop something, but now, when they do document,  you have to pay to read it ?! This is not a good idea to promote your otherwise excellent work...

  • @hamadivo, we actually use the BBB PRUs to generate PWM signals which gives us a lot of flexibility (many signal possibilities routed in different pins, fast changes and several and independent frequency characteristics). Just took a quick look at the PCA9685  and I'd say that there're some constraints that our PWM bitbanging outperform but a comparison would be quite interesting.

  • thanks. it seems that you use PCA9685 PWM controller instead BBB intrenal one?

  • @Roberto great hearing you guys have some prototypes in the pipeline. I am also excited about the chances of replacing the current STM32F4 by F7 (specially since they are pin-to-pin compatible) which will boost current autopilots based on the STMicroelectronics chips however the system will still be hardly accessible the to majority and only a few would be able to contribute or hack it (as it is right now).

    I've worked with both options and in my opinion the overall experience while working with a Linux autopilot is better. We are really excited about opening this first batch.

    As you mention, for computationally expensive tasks you definitely want to use a companion computer such as the ODroid or the iMXRex however this can be done either with VRBrain, PixHawk, Erle-brain or any other autopilot. I'd actually point out that interconnecting Erle-brain is just easier (Ethernet or USB).

    @Carlos Muchas gracias por los ánimos. Es gratificante que la gente encuentre nuestro trabajo útil. Todo esto sin duda nos anima a seguir adelante y a continuar innovando.
    Como bien dices todo aquel o aquella con experiencia Linux podrá desarrollar aplicaciones para drones con Erle-brain fácilmente. Estamos convencidos de que las aplicaciones más interesantes vendrán de hecho de la comunidad. Saludos!

    @Weiliang, sure. All the flight logs are stored in the eMMC under "/var/APM/logs". Additionally the Linux port and Erle-brain allow to store parameters and logs in a EEPROM memory. Since having everything in the eMMC is so comfortable we generally don't use the later so eventually we might find another use-case for it.
    There's also a microSD card slot and the USB Host port allows you to connect pretty much any storage media easily :).

    @hamadivo, all the code is merged in master. You may want to take a look at the AP_HAL_Linux for specific drivers. The PWM output is generated in the PRUs of the BeagleBone Black. Refer to this publication for more details.

  • Hi,

    which spi/pwm drivers are used (samples or source code).

    i'm creating one like Arduino... (in progress)


    Drivers for AM33XX and OMAP3 (Beaglebone and Gumstix) - hamadivo/Drivers
  • Any onboard logs? Dont see any storage media capability. 

This reply was deleted.