Vtail Octocopter


Have had this flying as a prototype for a while using open pilots copter control, now using APM.
She weighs 3.8 kg, with a bit over 10 kg thrust
Control is done with 5 motor channels , the front motors are operated as one, and control pitch, the left and right middles motors are controlled as left and right pairs, so that two more channels, and control roll, and finally the rear motors are operated individually (channels 4 and 5) for pitch and yaw control.
Size wise, motor to motor shes 700 wide and 800 long.

Now what i need to learn is how to enable camera contol on APM 2, and how to do the motor mixing (will modify a hexacopter profile)



Can anyone give me a quick guide on how to do the mix and enable camera compensation ?

E-mail me when people leave their comments –

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

Join diydrones


  • Did you continue this?
  • mixing works great

    PID's are tuned, but still need refining when the camera mount and extra weight is added, hopefully today

  • Got it fully tweaked now? how is the mixing working?

  • Ok, heres how i did the mix


    I modified a Y6 mix, as it required not alot of work :)

    first, define how much "authority" pitch and roll corrections have my mix has them at 100%, but in some cases you may want less

    int roll_out =  g.rc_1.pwm_out;int pitch_out =  g.rc_2.pwm_out;

    if i wanted for example to have pitch to have 80% authority the code would look like this

    int pitch_out =  g.rc_2.pwm_out * .8 ;

    second step is decide what motors will run from what channelfor me channel 1 = front motor pair, channel 2 = left motor pair, channel 3 = right motor pair, channel 4 = right rear motor(CW yaw) and channel 7= left rear motor (CCW yaw), channels 5 and 6 are skipped as they are used for camera control 

    Now the mixes

    in my example i have the front motors responding to throttle and pitch only, so the code looks like this

    motor_out[CH_1]         =  g.rc_3.radio_out + pitch_out;

    the left two motors are throttle and Roll only

    motor_out[CH_2] =  g.rc_3.radio_out + roll_out;

    the right two motors are throttle and roll also, but this time you need to correct for roll in the other direction, so we put a negative sign in front of the roll term

    motor_out[CH_3] =  g.rc_3.radio_out - roll_out;

    Ok, almost there!

    the rear motors, individually controlled, take care of throttle, pitch (- this time) and Yaw
    first - for throttle and pitch

    motor_out[CH_7]         =  g.rc_3.radio_out - pitch_out;

    motor_out[CH_4]         =  g.rc_3.radio_out - pitch_out;

    and now for yaw

    motor_out[CH_4]        -= g.rc_4.pwm_out;

     motor_out[CH_7]       += g.rc_4.pwm_out;

    hope the above makes sense, remeber this isnt my work, i just bodged it around :)



  • Nice :=)

  • here it is flying on ACM2 with a custom mix - tweaking required !


  • I will follow you're blog, so pls update when things happens :=)

  • I asked the guys i in rcgroups about mwc thread about v-tail for that flightcontroller. Quad V-tail is working as far as I understand. 

  • i have just done the program for AC2 , about to test tomorrow :) had a couple of guys offter to code it, but no matter, think i have it sorted. will share the mix when it works

  • What have happened with V-tail in AC2 and APM plattform?

This reply was deleted.