• 1
    Step 1

    Bill of Material (US$ - Transport & taxes excl.):

    Raspberry Pi Zero 5.

    MPU 9205 (SPI 9 dof IMU) 8.

    MS 5611 (SPI Baro) 9.

    PCA 9685 (16 channel PWM Servo Driver) 5.

    3.3 v. regulator 1.

    BEC 3 amps 3.

    Breadboard, Resistors, Connectors, Misc. 7.

    AutoPilot: 38.

    HobbyKing Spec FPV250 V2 Quad Copter

    ARF Combo Kit - Mini Sized FPV 60.

    Total: 98.

    *This is Banggood price; I had an ADAFRUIT –PWM on hand, and I really recommend going with ADAFRUIT, because of all the effort they put on making a great tutorial and drivers for this product. Note: Just like Erle , the USB WIFI, GPS and the Radio Control are excluded.

    Building:


    A) Hardest part: Get a RASPBERRY PI ZERO (Where is my Zero site)
    B) Hardware - See BOM
    C) Board Schematics : Erle pxfmini
    D) Board Software: Erle pxfmini

    E) LOAD LATEST Raspbian-Jessie

    Disable serial Login (Allow GPS on serial Port)
    Enable , I2C, SPI , Serial
    Disable Console = Auto Log on a shell


    F) LOAD RT-PREEMPT
    http://www.frank-durr.de/?p=203
    Load Test Result: TEST: T: 0 ( 1136) P:80 I:500 C: 100000 Min: 16 Act: 31 Avg: 32 Max: 157


    G) MAKE ArduCopter

    Special MINI-ZEE release:
    1) The MPU 9205 is mounted on the Z-Axis, so we need to change :

    CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_PXFMINI
    , _default_rotation(ROTATION_YAW_270) = to ROTATION_NONE

    2) The PCA9585 has no external clock, and the ESC are connected to ports 1-2-3-4, so we need to change:

    static RCOutput_PCA9685 rcoutDriver(PCA9685_PRIMARY_ADDRESS, true, 3, RPI_GPIO_27); -to-

    static RCOutput_PCA9685 rcoutDriver(PCA9685_PRIMARY_ADDRESS, false, 0, RPI_GPIO_27);

    H) Fly the MINI-ZEE == Add these to /etc/rc.local

    #wait till network is up and DHCP assigned address

    while ! ifconfig | grep 192.168.2. >> /home/pi/bootlog; do
    echo “no network, waiting…” >> /home/pi/bootlog
    sleep 5
    done
    echo “Starting ArduCopter” >> /home/pi/bootlog

    sudo /home/pi/ardupilot/ArduCopter/ArduCopter.elf -A udp:192.168.gcu-address:14550 -B /dev/ttyAMA0 > /home/pi/startup_log &

    exit 0

    I) FIRST FLY LOG:

    Thanks to the damping platform, the vibration level is within specs. Video is available for anyone interested..;-)

    Conclusion:

    This project took about 20 hours to complete. As you can see, I really enjoyed doing some hardcore DIY to demonstrate that it is still possible to build your own flight controller from a Linux Based system. I do not recommend to try this as a first project, but if you are interested, get a BBBMINI, this is the best introduction to DIY and if you want to fly a Raspberry Pi Zero, it is much easier to buy a PXFMINI.