Introduction to Navio

We love Raspberry PI, but it always appeared unfair to us that autopilot applications were limited on the platform. Lack of servo connectivity, sensors breakout boards had to hang on wires creating one big mess. DIY Autopilots were evolving for a long time strating from 8-bit arduino/pic platforms and coming to 32-bit ARM microprocessors, but we believe that where we should be now are SoC Linux autopilots. Linux gives you unlimited functionality and ease of integration of new payloads, just think of it – how would you usually connect a 3G modem to an arduino? Purchasing special schields, hooking up with wires, soldering, searching for libraries for that specific chip.. We were there, and we know that most of the time you spend developing a new device goes to searching for bugs in interfacing to modules. Imagine simply getting a 3G USB dongle from a shop nearby, plugging it into socket on your autopilot and thats it! You are connected! Geotag pictures from the camera? Easy! Send files or even compressed video over WI-FI? There for you!

With great processing power come great opportunities. Raspberry Pi makes RTK on autopilot possible, you just need a right GPS module.
This is why we decided to create extension board for Raspberry and pack it with RTK awesomeness and everything required for a fully functioned autopilot.
So what do we have?

MPU9250
9-axis IMU – inertial measurement unit, it consists of 3 axis gyro to measure angular velocities, 3 axis accelerometer to measure gravity vector, and 3 axis magnetometer to measure Earth magnetic field. Using sophisticated algorithms this data could be used to calculate orientation of the board.

MS5611
Best in class barometric altimeter. The resolution could be configured down to 10 centimeters. Sensor provides temperature measurements and is factory calibrated in a wide temperature range.

ADS1115
4-channel 16bit ADC. Measure voltage, connect temperature, humidity, CO2 and many other analog sensors.

PCA9685
PWM controller that can control up to 13 servos, relays or LED’s. PWM outputs of the chip are available through a 2.54mm connector on the edge of the board. Standard servos could be connected without modification. The same driver is also used to control RGB led on the board. Raspberry Pi lacks PWM outputs, that was a limiting factor for DIY drones on this platform. Navio solves this problem by adding multiple outputs.

M85RC FRAM
FRAM stands for ferromagnetic RAM. This memory is tough, it can survive up to 1 trillion write/erase cycles. If your application needs constant repetitive access to nonvolatile memory, FRAM could save your SD card resource and it is also much more reliable!

I2C, SPI, UART connectors
Connectivity connectors are available at the edge of the board. These ports let you interface virtually any sensor or piece of hardware. Expand Navio capabilities by adding extra devices. These connectors are compatible with major drone platform connectors, so you can use expansion modules from different platforms with Navio too.

GNSS receiver with carrier phase measurement
Navio is equipped with u-blox NEO-6T GNSS receiver. U-blox is well known for making very robust and high sensitivity GPS modules, but what makes it special among other receivers is the ability to output not only coordinates, but also raw measurement data that can be used to drastically increase GPS precision by means of Real Time Kinematics. Out of the box u-blox doesn’t support RTK processing, though… but Raspberry Pi with Navio can do that instead! The receiver is able to make time marks with 15ns precision that can be used to catch important events.