Hi, dear Diydrones members, today I’m happy to demo yet another raspberry based Ardupilot compatible flight controller expansinon board design.




  • Pixhawk compatible Power/GPS module interface
  • Integrated ublox m8n GNSS module
  • CSI camera ribbon compatible PCB profile
  • PX4IO forked project for dedicated PWM I/O with STM32 MCU
  • Emlid™ Navio+ inspired solution for ardupilot HAL
  • FULLY open source software and HARDWARE



  • Single package for FPV solution
  • Yocto distro with minimum firmware footprint
  • Deliver in May, 2015


Why we did this because we believe in open sourced project will be a great tool to learn from the best, and to be even better. We are young Chinese engineers, please no stereotype.


I’ve been assist @zhangkaiqi working on this project for a while now. We had a breadboard wiring prototype flying happily now and we want to push this endeavor a litter further. As earlier Navio+ test reports from Emlid shows that PWM consumed about 20% of RPI B+’s cpu time, we want to test another solution by putting PX4IO (pixhawk’s co-processor part) on RPi.And we are inspired by @PatrickDuffy’s (Diydrones member, not twitter) FPV solution on Rpi with ubnt™, so we want to build a flight controller has all the good features we can get from a Rpi, so we combined them together.

Today we have the first PCB design sign-offed to the fab, and later this week hope to have a smoking test (first time power on a PCBA). We hope people with talent to join us with software design process and we hopefully to send some samples to volunteered engineers, testers and early bird costumers.


We promise to open source all project files, including Eagle Cad schematic/layouts, after we have the first batch PCBA running complete. We need initial product generate some revenue to support out later developments.


I’ll update this thread for the project, please commit for your ideas and feature request.

Thanks for people who contributed to this community made this possible. 

E-mail me when people leave their comments –

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

Join diydrones


  • Hi @killerovsky

    have a look here; http://community.emlid.com/t/raspberry-pi-osd-using-navio/725

  • What about the idea to somehow add analog video input to the RasPilot? This will significantly helps with next 2 use cases:

    1) Making of vector, antialiased, modern RPi2-based OSD

    2) Making of digital video downlink to the ground (using currently available and relatively cheap analog FPV cams)

  • @Jörgen                

    it is available here V1.1     www.raspilot.io 

    send email to alexzhangkaiqi@gmail.com

    $65 each + Shipping $20 DHL


  • How to buy one? 

  • @Andrew Tridgell

    Sorry for replying late. My email address is alexzhangkaiqi@gmail.com

    Thanks very much for your work. I will do my future work in your brach. And I have sent one v1.1 sample board to Lucas this week, which have a MPU9250 to replace the MPU6000. (Luckily the MPU6000 codes still work on MPU9250.)

    The old bootloader codes are in github.com/raspilot/Bootloader

    I haven't begun to add spi communication into the bootloader, because I'm too busy at something else...

  • Developer

    I've got the issue with my rebased branch solved now. The raspilot-wip branch now runs fine.

    How is the work on the io bootloader going?

  • Developer

    @ScienceBeer, I've hit a weird issue with the rebased raspilot-wip branch I link to above. When I started it up on a RPi2 the root filesystem gets an error and unmounts after a few seconds. It looks like it causes errors on the mmc card:

    [  361.495945] mmcblk0: error -110 sending status command, retrying
    [  361.496045] mmcblk0: error -110 sending status command, retrying
    [  361.496136] mmcblk0: error -110 sending status command, aborting
    [  361.496515] EXT4-fs warning (device mmcblk0p2): ext4_end_bio:317: I/O error -5 writing to inode 1
    39292 (offset 0 size 0 starting block 238082)
    [  361.496573] Buffer I/O error on device mmcblk0p2, logical block 222721
    [  361.496874] mmc0: card aaaa removed
    [  361.498089] Aborting journal on device mmcblk0p2-8.
    [  361.498186] JBD2: Error -5 detected when updating journal superblock for mmcblk0p2-8.
    [  361.499496] EXT4-fs error (device mmcblk0p2): ext4_journal_check_start:56: Detected aborted journ
    [  361.503803] EXT4-fs (mmcblk0p2): Remounting filesystem read-only
    [  361.505948] EXT4-fs (mmcblk0p2): previous I/O error to superblock detected
    [  363.360212] EXT4-fs error (device mmcblk0p2): ext4_find_entry:1289: inode #14: comm sched-io: reading directory lblock 0

    have you seen anything like this before? I'm guessing it must be either one of the mmaps or the GPIOs interfering with the mmc controller, but your branch doesn't have an issue and it uses the same maps and GPIOs.

  • Developer

    @ScienceBeer, I have my raspilot v1 up and running, and I have also given remote access to it to Lucas so he can test too.

    I have re-worked your git tree to be based on current ArduPilot master, and pushed the result here:


    it would be great if you could use this branch for future work, as it is close to something we can accept into master.

    Could you also send me your email address so I can include you in discussions on the drones-discuss mailing list?


    Contribute to tridge/ardupilot development by creating an account on GitHub.
  • @Andrew

    The github page shows the conector layout. Orientation is not shown anywhere neither on the board nor on github. Its same as Navio. RPi2 usb port point forward once mounted.

  • Developer

    I just got my board - thanks ScienceBeer!

    It looks really nicely done to me, I'm looking forward to getting support for this board in master. I've some more RPi2 boards so I can have this side by side with my NavIO+ on my test bench.

    Is there a diagram showing which connector is which and the pinout?

This reply was deleted.