Does ArduPilot Mega 2 (APM 2) Gyro function work?

I have an Align 450 Pro v2 FBL that used to connected with a Skookum SK720 tuned to close to perfection with extremely low vibes.  Now I removed the SK720 and trying to get the APM 2 to work on it.  Finally got all the trims, limits, zero pitch center, servo directions, and the APM auto level correction moving to the correct direction today.  I've noticed the tail behave very strangely.  


When I do not have the Gyro Enable box checked, the tail seems to try to counter the external movement for a split second and return back to the center.  When I use the rudder control, the tail servo hardly ever move.


When I have the Gyro Enable box checked, the rudder control works perfectly.  The tail also works like in HH mode.  To test it, I held the heli in my hand without the main blade and spin the motor up.  When I twist the heli, the tail correct the tail perfectly.  I twist it more, the rudder move more to counter the movement until I let it twist back to the original position.


According to the wiki and some other write up, that checkbox suppose to be for external Gyro.  I think that info is for the older APM.  The APM 2 seems to have the Gyro working internally when I have that box checked.


Now the weird part, while it is in HH and countering the external force, if I move the rudder control from my remote, it doesn't matter which direction, it immediately set the rudder back to the center.  I even tested it with the main blade on.  At first, when I spin it up, the gyro kicked it to counter the movement. As soon as I touch the rudder control, the rudder servo immediately back to the center and let the heli spin wildly.  Quite scary to see.  Could anyone give me some hint on what I can do to get the tail working?



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

Join diydrones

Email me when people reply –


  • Hi Wesley,

    Will you share your latest parameters once you got it hover? I will put my second APM2 on my HK 450 pro heli next week, so your parameter will greatly help me tune mine. :)



  • Houston, we have lift off!  :D


    I thought the tail was tuned very well while it sat on the chair.  When I had it sit freely on the ground, at about 30-40% throttle, the tail shaked violently.  But I was determined to lift off and see how well the default PID work, so I continue to spool it up slowly and controlling all the pitch and roll carefully before it left the ground. (Don't worry.  I'm very good at flying un-tune and demage heli.  :D )  After it's off the ground, the tail still continue to shake, but other than that, it seems to hold very well. So I hover it around and shake the tail a little more using the rudder control.  After I do that, the tail calmed down.  The entire heli flew very smoothly.  I'm very impressed!

  • I kind of understand what the PID numbers do but what is the Stablize Yaw numbers versus the Rate Yaw numbers are for?  I find myself randomly change one or both area without understanding what these 2 area mean.

  • Oh, and about the mounting, very interesting, you did just what I was planning to do.  I've just ordered an HK450GT FBL yesterday.

    I am going to machine an aluminum mount.  If it works, I think that it would be a great candidate for a 3D printed plastic part.

    It sure makes for a nice clean installation.

  • Wesley, what are your tail PID?

    You should not be using it in external gyro mode when you don't have an external gyro attached.  I think you just don't have the PID's correctly set up.  Most people have this difficulty, but usually get past it with the right PID settings.  I've posted them a few times, but I can't remember off the top of my head right now...

    I think I have Stab_Yaw_P = 2, or something like that.  Stab_Yaw_I = 0.   Rate_Yaw_P = 0.350, and I is... I can't remember at all.  I also have a bit of D I've been playing with.  0.04 or something.

    As for the returning to center when you feed a command, yeah, I've seen that as well and I can't figure it out.  In flight, I think it's not as bad as you would think.  I find the nose will just twitch left just a tiny bit before then following the command.  When you are holding it in your hand, the error looks bigger.  When really flying, it seems like the rate portion of the yaw control system catches it very fast.

    Edit: Oh, I see your PID values now.  Stab_P of .7 is way too low.  You need at least 2, and I've even gone as high as 3 without issue.  The Rate_P of 0.135 is probably also too low.  Increase both of these similar to mine, and it should look a lot better.

    You WILL need Rate_I , but Stab_I should probably be zero.

  • Developer


         A very clean looking helicopter.  Interesting to see where you mounted the APM2.  I've always used the mounting plates (although they're sold out at the moment) but it will be very interesting to see if your set-up works.  It would be good if it does because:

    • it keeps the mag away from the motor
    • no need for an external gps because it's out from under the heli (assuming the main blades don't cause any troubles)

         I can imagine that we would make that the standard if it works.


         I suspect your yaw problems are largely just down to PID tuning.  If the external gyro is enabled only the top PID contoller is used.  If no external gyro then both the upper angle rate controller and lower rate controllers are used.  It's important to get the rate controller right you can enable PID logging in the logs and then use the channel 6 tuning function for CH6_YAW_RATE_KP (see right lower side of configuration screen of AP MissionPlanner).


This reply was deleted.


DIY Robocars via Twitter
RT @knightsautoteam: Hi @diyrobocars, we are Orlando's first Autonomous racing club and would love your support. We are hosting our first K…
DIY Robocars via Twitter
RT @Heavy02011: #VirtualRaceLeague: @DIYRobocars Race #14 - #ParkingLotNerds join us January 15th for #AutonomousRacing #RoboRace ⁦@DAVGtec…
Jan 16
DIY Robocars via Twitter
RT @chr1sa: And after that came our races, 50 in all. This battle between these two Russians was the best we've ever seen -- incredible fig…
Jan 16
DIY Robocars via Twitter
RT @chr1sa: Before our @DIYRobocars virtual race this weekend, we had a presentation from the team that won the Indy Autonomous Challenge i…
Jan 16
DIY Drones via Twitter
Dec 12, 2021
DIY Robocars via Twitter
Dec 12, 2021
DIY Robocars via Twitter
RT @chr1sa: Just a week to go before our next @DIYRobocars race at @circuitlaunch, complete with famous Brazilian BBQ. It's free, fun for k…
Dec 4, 2021
DIY Robocars via Twitter
How to use the new @donkey_car graphical UI to edit driving data for better training
Nov 28, 2021
DIY Robocars via Twitter
RT @SmallpixelCar: Wrote a program to find the light positions at @circuitlaunch. Here is the hypothesis of the light locations updating ba…
Nov 26, 2021
DIY Robocars via Twitter
RT @SmallpixelCar: Broke my @HokuyoUsa Lidar today. Luckily the non-cone localization, based on @a1k0n LightSLAM idea, works. It will help…
Nov 25, 2021
DIY Robocars via Twitter
@gclue_akira CC @NVIDIAEmbedded
Nov 23, 2021
DIY Robocars via Twitter
RT @luxonis: OAK-D PoE Autonomous Vehicle (Courtesy of zonyl in our Discord:
Nov 23, 2021
DIY Robocars via Twitter
RT @f1tenth: It is getting dark and rainy on the F1TENTH racetrack in the @LGSVLSimulator. Testing out the new flood lights for the racetra…
Nov 23, 2021
DIY Robocars via Twitter
RT @JoeSpeeds: Live Now! Alex of @IndyAChallenge winning @TU_Muenchen team talking about their racing strategy and open source @OpenRobotic…
Nov 20, 2021
DIY Robocars via Twitter
RT @DAVGtech: Live NOW! Alexander Wischnewski of Indy Autonomous Challenge winning TUM team talking racing @diyrobocars @Heavy02011 @Ottawa…
Nov 20, 2021
DIY Robocars via Twitter
Incredible training performance with Donkeycar
Nov 9, 2021