NAVIO+ Linux board with APM:Copter 3.3

Click here to skip the commentary and just see the vehicle flying.

The video above shows my first attempt (which was successful) to fly APM:Copter using a Linux board (the NAVIO+ shield + RaspberryPi2 from  Ardupilot and APM:Copter have flown before on Linux computers (Tridge flew ArduPlane Aug 2014, and Victor Mayoral first flew APM:Copter using an Erle-Brain board) but it was a first for me and is still fairly rare.

Compared to the Pixhawk the NAVIO+/RPi2 has enormous amount of CPU power (quad core 900Mhz) meaning it should be good for vision applications like red balloon popping, visual follow-me, precision landing and maybe wifi broadcast for real-time video all without the need for an extra companion computer.  We also hope the extra CPU will allow 4kHz sampling of the IMU which will nearly eliminate aliasing and the need for vibration isolation (we currently sample at 1kHz).

We don't yet take advantage of that extra computing power within ardupilot though so it flies much like an APM2 or Pixhawk with all the same flight modes and most of the same features.  A few things are not supported yet including the safety switch, external LEDs, buzzer and Optical Flow.

The setup for the board is more difficult than the Pixhawk, in particular upgrading to the latest version of APM:Copter involves logging into the RPi2 and then downloading and installing a package.  Alternatively you can download the firmware directly from the ardupilot github repo and compile it right on the board.  The emlid site has good documentation on this procedure.

During the setup I had some specific problems:

  • I did not use an external compass and the internal compass's offsets were huge (1000 on Y axis!) which required disabling the compass arming check.  Surprisingly though the IRIS flew fine even in Loiter and Auto modes.
  • The RC receiver is not powered from the NAVIO+ board meaning a BEC must be used (or I hacked an I2C cable and connected it to the servo rail) which is inconvenient for bench testing.  I hope in future versions of the board this is changed.
  • The two-board sandwich is taller than an APM2 or Pixhawk which meant I had to bend some pins to make it fit within the IRIS case (see pic below).  Perhaps a future version could include right angle headers.


On the software side there's still some work we need to do to improve the Linux experience so if there are developers out there who would like to help us with this, please contact the dev team on gitter or on  Linux is the future and we've got a lot of fun work to do!

Note: in the video I incorrectly say SBUS isn't support but it is supported!

E-mail me when people leave their comments –

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

Join diydrones


  • It looks like the NAVIO board is fairly simple-- They give a lot of details how the board is wired and might be possible for a DIY'er to fab up their own shield.

  • I think this HDMI to CSi-2 adapter has potential (But it is over 150 euros as it is a new development)

  • Do not know, perhaps. Did not notice during my initial testing. I'm flying in loiter mode, and is not too concerned with latency as long as the total (including 4G mobil) is below 500 ms. 

  • USB webcam = higher latency though right?

  • The camera seems to work ok. I'll try to post a video screen capture at some point. On my copter there is not much vibration and the image is ok. Similar to a normal PAL video. Higher resolutions is possible, but it requires a stable 4g connection. The RPi camera is very light, but not the best due to the RF noise that interferes with the GPS. I had to shield it to make it work. In my new quad I'm going for a Logitech c920 webcamera.

  • @Ole I see the video uses Rpi camera which is cmos?

    - Do you think it is suitable (no jello, WDR adjustment)?
    - Have yoou considered using a short LAN cable from the mifi to the Rpi2?

  • Developer

    The Odroid U3 (quad core 1.7Ghz) is more powerful than the RPi2 (quad core 900Mhz) but I think the RPi2's CSI-2 camera interface and better community support make the RPi2 a better choice overall for most applications.

  • I can confirm you can run it all on a RPi2. You can run Arducopter and video streaming with no problems on RPi2. You can stream the video and MAVlink over a 4G connection to a PC and control everyting with a joystick. (You do not really need a radio)

  • Really great to see this level of development and integration in a system with even more CPU power than BBB and Fire.

    And an excellent practical introduction Randy - Thank You.

    The RPI 2 seems like it ought to be comparable to the quad core Odroids, any thoughts comments.

    Best regards,


  • Yeah OK, how is the Odroid RT operating system coming along? Still waiting for that little gem.

    Nice work Randy and thanks for the effort you put in. Have you been involved with the VTOL code at all?

This reply was deleted.