Navio+ and Odroid-C1: the most powerful Linux autopilot

Some time ago we’ve released a new version of our Linux autopilot – Navio+. Main new feature is that Navio+ supports HAT standard and is compatible with Raspberry Pi models A+,B+ and also with… Odroid-C1. It is a new board from Hardkernel powered by quadcore 1.5GHz CPU with 1GB of RAM. Odroid-C1 sets a new standard for performance – it is fast, 10 times faster than Raspberry Pi and faster than most of the single-board computers on the market. It also features EMMC storage for high performance memory operations. Another benefit of Odroid C1 is that you can build APM on it in just 45 seconds.

Here are the benchmark results for Raspberry Pi B+ and Odroid-C1 made by intorobotics.com:

Besides DMIPS, very important improved metrics are system call overhead and context switching that will positively affect real-time capabilities.

We’ve added support for Navio+ and Odroid-C1 combo in APM. The porting was mostly straightforward thanks to the APM’s HAL and as we already had the drivers for Navio+. As Odroid-C1 is a new board, not all required system features were implemented and we had to do some tuning. Luckily, Hardkernel team is very responsive and great in communication and helped us solve the problems as we found them.

Most of the features are implemented for C1 such as toolchain configuration, build target, IMU, baro, GPIO driver, RGB LED etc.

But we won’t be kept without work, a couple of things are still left to do:

  1. RT_PREEMPT kernel. The real-time patch doesn’t apply as smoothly as on Raspberry Pi’s Linux, so we’ll have to deal with that by manually applying the failed hunks.
  2. RCInput. This is a tricky part on Linux, but on Raspberry Pi it was solved by using DMA. We can go that way too, but Amlogic S805 has quite a few other peripherals we can use – unlike BCM2835 it’s got a lot of spare timers that can generate 1us interrupts. Datasheet was only released a couple of days ago and we’re currently exploring the possibilities.

APM’s port for Odroid-C1 is available here:
https://github.com/emlid/ardupilot/commits/navio-odroid-c1

For now our main goal is to take Odroid-C1 into the air and we believe that many exciting projects will follow, that will take advantage of incredible processing power.