First flight of Linux APM on Raspberry Pi 2 with Navio+


Hey guys!

Today we’ve made the first flight of Linux APM on Raspberry Pi 2 with Navio+.

Navio+ is an autopilot HAT that includes all the necessary sensors: U-blox M8N GPS/Glonass/Beidou receiver, MPU9250 3-axis gyro, 3-axis accelerometer and 3-axis magnetometer, MS5611 barometer, ADS1115 16-bit ADC for battery monitoring, PCA9685 PWM generator and an RGB LED.

Raspberry Pi 2 is a new quad-core version of the most popular single board computer in the world. It was clear that APM would benefit from higher processing power and as Raspberry Pi Foundation decided to stick to the HAT standard for their boards, Navio+ fits and works perfectly without any hardware modifications.  

How does it compare to the good old Model A+/B+? According to the benchmarks made by David Hunt RPi2 gave us about 7 times higher performance.


For real-time performance we fly on PREEMPT_RT patched kernel only. This time, compiling a stable kernel turned out to be quite a challenge. Raspbian for RPi2 is based on Linux 3.18 and at the time of release there was no RT patch for that version. Luckily patch came out just two weeks later, but there were some issues with the USB driver, so we had to spend some time to investigate and fix those. Finally, after everything was solved and after long nights of stress testing we took it for a flight test today.


Despite the strong wind copter behaves nicely, loiters steadily and overall is a lot of fun to fly.

New Raspberry Pi 2 gives clear advantages over the older model, we are able to run main loop at 400Hz without missing a single cycle.  This is what your PERF will look like if you fly RPi2:


Today Emlid team celebrates its first birthday, a year ago we have started the Navio project with an idea to fly on Linux. I would like to thank everyone who worked with us through this year and made all this possible. Special thanks go to our team members who work hard, but do not usually show up as authors of blog posts: Georgii Staroselskii, Egor Fedorov and Vlad Zakharov.

You can get a Navio+ here :)

Have a great weekend!

E-mail me when people leave their comments –

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

Join diydrones


  • Thanks Emlid

    All good now! ;-)

  • Does the Navio+ support stacking of the Odroids? I know drone computer vision researchers have done this successfully with the Odroid U3 boards. This could provide redundancy too, addressing the main system shortcoming.

  • @Adam Erickson

    Even if SD card is ejected it won't lead to a system crash as APM on RPi+Navio will continue to work.

  • Looks great! I imagine the relative strengths of the Erle Brain are its redundant IMUs and built-in 4GB eMMC, which add quite a bit of safety (e.g., no card to dislodge and cause a system crash). However, the BBB can be a pain even for simple things like WiFi due to a lack of support, while the RasPi2 and Odroid C1 are much faster. Honestly, I'm not sure which I prefer, but they are both very exciting to see. Let me know if I'm missing something.

  • Hey Emlid

    Wanted to get one but it seems I missed the offer...bummer!

  • very cool.  will have to try it out. 

  • Great job guys!

  • Developer


  • Of course, I just ordered a second one last week before your sale.

  • OK - will let you know how it goes.  

This reply was deleted.