NAVIO: Raspberry Pi autopilot


Hi guys!

Want to share what we have been working on lately, it is an autopilot shield for Raspberry PI. It is called Navio and has everything what you will usually find on an autopilot platform. A powerful platform like Raspberry gives many opportunities like streaming video, 3g,wi-fi, ethernet connectivity and possibility to run computation intensive algorithms like Kalman filtering or RTK GPS. RTK or real time kinematics is one of the main features of the board, it is equipped with a GPS capable of providing raw data output: carrier phase, pseudo-ranges and ephemeris. Processing this data against a stationary receiver increases GPS positioning accuracy to centimeters. A radio link between the two is required, but you anyway have it to GCS. If network RTK is available in your area, you can use corrections from the internet over 3G thus eliminating the need in second receiver.

Our plans include porting APM to Raspberry Pi + Navio.

MS5611 barometric pressure sensor
MPU9150 (MPU9250 on future models) 3-axis gyro, accelerometer and magnetometer.
ADS1115 16-bit ADC
PCA9685 PWM extender to control servos
u-blox NEO6T GPS module with raw data on SPI, we saved the only UART on raspberry for Xbee or different telemetry.
13 servo connectors
Pixhawk compatible UART, I2C and SPI connectors
RGB LED – just because we love them


What we wanted to know if there is any interest in platform like this, because we have everything ready for manufacturing and to keep the cost down we need to manufacture as many as possible. We have written tutorials how to use the board and are now preparing them for publishing, all code for the board will be released under open source license. Some more pictures and details are available on our website.

E-mail me when people leave their comments –

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

Join diydrones


  • @Shaun Mcmaster

    Thanks for sharing your ideas!

    We’re sticking to Pixhawk-compatible headers, but Navio telemetry header is compatible with virtually any UART-based modems - all that is required is the right cable.

    We already have 3.3V low dropout regulator onboard and 3.3V is available on some headers. It’s a good idea to add a 3.3V through hole on production version of the board - we’ll do that.

    CPLDs\FPGAs are great but in our case they would complicate the system and that is what we are trying to avoid. It is possible though to connect separate CPLD board to available SPI\I2C\UART ports and you can even connect programmer to RPi and program CPLD right from Raspberry.

    @Q.V. Huynh

    Thanks! We enjoy networking on RPi with Navio.

    @Jay Bryon

    Now you can subscribe to our twitter and blog posts

    Yes, a lot of work for APM’s Linux support has already been done and we think that’s a right direction.

    @John Rambo

    Navio power consumption is less than 100mA, RPi consumption depends on model and processor frequency and is in range of 500-1000mA.

  • Just one question - what's the average power consumption of this shield, combined with RbPi?

  • I'm interested, an email list subscription link on your website would be advisable, so folks can sign up for updates.  

    I know that there is a Ardupilot to Linux push already, I assume you're talking to the community about that?  

  • I can't wait! I can definitely imagine interfacing this with MAVLink and sending back telemetry data for LIDAR as well as computer vision! The Wifi/3G capability is looking extremely attractive for quad copter networks.

  • I would buy this.

    Some suggestions:
    RADIO PORT:  3DR radio compatible header (could put one footprint inside the other) in addition to an Xbee header, same RX/TX connections.  This way you could use either.

    3.3V regulator + output:  More and more 3.3V stuff coming out everyday. nrf24l01 transceiver for example. Cheap future-proof and only adds 1 pin or plated through hole somewhere.

    Onboard CPLD: I realize this is a stretch.  But for things like rotary encoders, I like having a dedicated part for those position counters so I don't have to muck around with CPU interrupts to get speed & precision.  Might even be able to put an entire encoder based PID speed/position controller in CPLD then the PI would only have to access register interface.

  • Juraj Kolesar, thank you for your support. I sent you a PM.

  • You can always connect wi-fi to usb, it is much more convenient. 

  • Developer

    @Christiaan: I doubt that you can stack that radio module onto the NAVIO board. It's probably much easier to use a 3DR Radio/ RFD900 or other serial compatible product. Though it would be neat to be able to connect a SPI WiFi module as this opens the possibility of Video over IP

  • The real-time kernel sounds interesting. So looking forward for your tutorials to try out. If you need some developer feedback, I would be interested to participate by testing your platform or APM porting. I have quad, APM2.6, RaspberryPi, some years of developing experience and lot of enthusiasm

  • @Juraj Kolesar

    We will be using real-time kernel Linux, a tutorial on this topic will follow.

    @Christian van Vollenstee

    We will support any radio trough UART or USB port.

    @Jesper Andersen

    Your support is very important for us. We understand the concern about real-time performance, but we know many examples where this has been done. We truly believe that there are multiple applications where RPi based system will be better then hybrid. Thank you for your positive attitude.

    @Aldo Vargas

    Thank you for your interest! We are targeting Linux, but if you wish you can use any OS that has been ported to RPi you like, including ChibiOS. 

This reply was deleted.