OK, in summary I have a TBS discovery and I want to do a better job of setting up its odd angle arms to work with the APM.  I feel like understand this would also be great for testing and adding new platforms like a spider Octa, hexa V, etc.

I've made pictures because I feel they can better convey information.  Basically, I've found the angles on my non-pure X frame (not 45* spacing) from the horizontal and vertical lines.  I tried do a simple edit of these values (see picture 3), but it didn't see very stable over the normal X with the same PID settings.

I also looked at how the Octa V is setup, and I'm thinking that is the best way to tackle this problem, but I don't quite understand how I might map these values out for this setup.  Who wrote the V code?  Could they share any insight?

Here is the normal X frame, and the rough Roll/Pitch factor that gets applied after the add_motor function by my calculations. 


I then looked at the Octa V and saw how it skipped the add motor function and just wrote raw roll/pitch factors.  I mapped them here to try to better understand how their placement would change my offset X.


So can I get away with my angle changes running add_motors, or do I need to find out what the real roll/pitch factors for this offset should be?



Edit: Updated pictures.

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

Join diydrones

Email me when people reply –


  • Hi Josh,

    check this out, ardupirates motor mixing.

    I wrote this when I made the V mixing for the arducopter/ardupirates, hope it helps.


  • Finally got some arms, here's what I'm getting for angles on the TBS discovery:

    3692554030?profile=originalI'll be trying out 62/-133/-62/133 see how it goes, not until some more parts are in though

  • How do you mean it flew badly ? Did it respond to roll/pitch correctly ?

    Also, where did you get the raw values ? Here's what I'm getting for these angles (67.5 -120 -67.5 120)

    #1 -0.9   0.4

    #2  0.9  -0.5

    #3  0.9   0.4

    #4  -0.9 -0.5

    rounded up at one decimal

    but if you measured correctly then the correct in-code angles for 2 & 4 should be more like 127.5 , -127.5

  • I did some more testing yesterday;  putting the add_motor_raw function works just fine.  I started out just emulating the X quad setup to get a baseline, and this worked as well.   I will flight test the configuration in the last picture today.  It felt like it had more forward pitch correction which is what I wanted.

    I still am looking for any information on how one might find these raw values so we can write code for Octa spiders, Hexa V's, or other crazy designs.  Anyone? 

  • I just did more flying on the correct angle offset config, and it does not fly well.  The pure X setup feels much better than the correct angle setup, and I believe this is because the "pure" setups are made to be symmetrical in nature.

This reply was deleted.