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!