PID help required (video example)

OK, so I have some PID tuning to do to resolve an issue I have which is demonstrated in the video (link below). Its a twitch on the roll axis. Just not sure which PID settings to look at. The video is shot from both the air from a 3axis gimbal, where you can see the 2 front motors demonstrating the yaw twitch, albeit quite lightly in these clips, plus from the ground as the last bit (just shot from my phone).

I have done a bunch of PID tuning (autotune produced rather random results so spent an evening going through PID settings manually).

The copter is running Arducopter 3.2.1, its a Tarot 680Pro frame with SunnySky 690KV 4108 motors and 1355 CF props (well balanced), X-Rotor 40A ESCs. There are 2 x 5000mah Zippy compact 4s LiPos (wired in parallel for 10000mah) strapped sideways on - one hanging under gimbal rails in front of gimbal and one behind, keeping it nicely in balance.The 3 axis gimbal is mounted dead centre. The all up weight is 4.2Kg. These videos are taken with the craft being flown in Position Hold mode.

The issue is a strange twitch on the roll axis (strangely no twitch on the pitch axis). The videos are being shot in dusk conditions with very light winds (under 5mph) The wind noise you hear is simply from the props. Wondering what PID settings I should look at to try to alleviate the twitch. Apart from this issue the stability and control feels pretty locked in. Anyone ideas would be gratefully received.

The pids are as follows:


Log file also attached (185.bin)

Thanks, Paul


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

Join diydrones

Email me when people reply –


  • Paul, 

         Looking at your included log file there is a serious vibration problem on your Y axis. The vibrations are way out of limits. The maximum is +/- 3 and your log file is showing +/- 12 on AccY with your AccX almost out of limits with +/- 23702067828?profile=originalLooking at your RAW IMU data specifically your Gyro's, the IMU's look like they are being washed out from vibrations or noise. For reference on my quad my raw IMU looks like this:


    Your IMU data looks like this:


    In comparison it looks like to me that it is quite possible that the IMU's can not even see the movement of your Gyro's due to all the noise. 

    Strangely enough your VCC board voltage also looks to be a bit low? Your log file indicates a VCC of 3.5volts from the CURR portion of your log. It even spikes as high as 6.3volts at one point. Are you using a Pixhawk, or a clone, or some other version of APM?? Are you also powering the pixhawk from the servo rails? 

    Voltage spikes like this are probably not good for any version but i'm far from the expert on all of the different models. 

    Picture seen here for spiking and low voltage:


    Lastly graphing your RCOU (Output to motor signal) you can see the vibrations from your Gyro's being carried through to your motor outputs here:


    A sample from my logs look like this:


    I would try to investigate the cause of your potential voltage issue first if you are using a pixhawk. Things may not be getting the right levels of power. If the voltage into your flight computer is appropriate for its type, then look into how the pixhawk is mounted on your frame. Are their wires bumping into it, is it mounted on Moon gel that has melted, is there a loose component on your frame. Hopefully this shined some light on the issues you are having to help you move forward with your build. I'm far from an expert with APM but something definitely doesn't seem right from your log files. 


    • Initial observation - I opened the same 185.bin file in MP 1.3.31 and the Vcc graph I see is completely different. This is what it looks like on mine:


      I presume this is the Vcc reading under CURR?

      As for the vibes on IMU and IMU2 I concur with your findings. I am seeing terrible vibes in all 3 axis. Do you have any suggestions for specific Pixhawk mounting to best avoid vibes? I see some just say to use the 3M foam that 3DR sell, but I presumed (possibly wrongly presumed) that the platform I chose would provide better vibration damping than the foam. Any advice you can offer here based on personal experience? What level of vibes would you expect from your frame alone without damping the pixhawk? Trying to determine if I should look closer to the root cause of the vibes or if these are acceptable and instead I should concentrate on the Pixhawk mount? I use sunnysky motors and was led to believe that these offer great low vibration performance - I suspect I should check out the motor vibes to see if any of these are particularly bad. Would motor/esc timing issues cause such vibrations to occur? I have a strange motor noise as I rev up for takeoff, a sort of screech almost just for a short rev range just prior to takeoff speed. Wondering if this is an indication of timing issues which could lead to bad vibes.

      Sorry many quetions I know!

      Thanks, Paul

      • BTW, Are all of your motors screeching prior to takeoff or just a specific one... say on the front or back of the hex?

        • Its hard to tell. Here's a vid showing the screech at 2 seconds in. Its not too bad and doesn't last long, but a concern all the same:

          • This is a common motor sync noise i hear

            sync noise

            Closer to what you are hearing without the full stall during spinup is probably this

            Sync noise 2

            And because 3 videos of horrible noises are better than 2 here is another:

            Sync problem #3

            As you can see the noises can be vastly different depending on motor type / timing / esc brand. If you think you have a sync issue try to change the timing in your ESC's and recalibrate your throttle range. (OPTO only means no BEC / SBEC / UBEC built in) 

            The manual for your ESC's can be found Here and they can be reprogrammed via Tx stick commands. BE SURE TO REMOVE YOUR PROPS PRIOR TO ATTEMPTING TX STICK PROGRAMMING!

            • Yes, I discovered the config options early on when I tried to first do the ESC calibration. Its bizarre how these work - 2 chimes and drop the throttle to perform ESC calib, but if you drop it after 3 chimes, that sets med timing, and after 4 its high timing. I have all mine set at med timing.

              I have been doing some vibe testing tonight. using the VR Mobile app on android, with phone strapped upside down to the underside of each arm, with the props attached initially. Discovered 2 motors causing more vibes than the others - Motors 1 and 2. I took off props from these motors and did the vibe test again, the motors run with virtually no vibe, so checked the balance of the props and they were both pretty good. I changed these props for spares I have and made sure the spares were balanced also and with these new props the vibes are down to the same levels as the other 4 now. I also made a mod for the cable feeds to the Pixhawk. I have run an arced rail from either side of the the FC arcing over the FC, and have used this to fasten the cables to. I will get some spiral wrap when I get round to it but just cable ties for now. This ensures that the cables are secure and still gives enough flex where they leave the loom and go into the FC. Here's a pic:


              The FC can move on its dampers without tugging on any of the cables.

              the readings i get on the arms generally are as follows:

              X: 0.14 to 0.27 (average is around 0.22)

              Y: 0.09 to 0.14 (average around 0.12)

              Z: 1.17 to 1.21 (average around 1.19)

              Bear in mind that for each arm, the X axis runs 90deg to the arm (so X and Y are not the copter oriented X and Y, Z is the same as copter Z)

              I will take it for a test flight tomorrow and check out the tlogs afterwards for vibes. Since your response I have been studying how to do diags using the logs - thanks for the inspiration!

              • Good catch with the props. Sometimes I have had balanced props that just don't seem to work right. Usually it turns out that the blade tips do not cross the same position as it rotates. Not all carbon props are equal. Good luck with your tests and keep at it. Hopefully the problem is resolved soon. 

                • Maury, I think I have improved the vibes a step further. I wonder if you'd be willing to check the log file to tell me what you think of them now? I figured out that the left most motor had some end float in the motor bell (only a tiny bit but none of the other 5 motors had any play at all), so set about pressing the bell onto the shaft a little further to remove this play. All 6 motors now feel the same with zero play in the bel housings. The file is too big to upload so here's a link:

                  Also I tidied up the wiring with some wrap ( and also fitted the remote LED/USB - hence the i2c splitter making an appearance):

                  3702927753?profile=originalThe vibes on the X axis appear a little strange to me. Its quite hard to explain, and I am far from being an expert in these matters but here goes - The AccX mostly sits within +-3, and the centre of the trace is zero, but then as you will see, the entire trace moves into the + side in a wave (I imagine this could be just natural accel changes on roll right) and the same in the - side (again, probably roll left causing this?), but all the time peak to peak is within a much smaller range than I had previously. The AccY looks similar (I assume due to forward pitch and braking). Does this look acceptable now? Bear in mind that I flew quite aggressively at times during the flight.

                  This is just a zoomed in AccX, where you can see pretty good level of vibes up until the 4.5min mark, then I am guessing that aggressive moves caused the AccX plot to move above and below the zero:


                  and, this is all 3 traces for the entire flight:3702927591?profile=original

                  I am also very pleased as I did this flight with a new pair of larger flight batteries (6400mah Zippy compact 4s 35c), which gave me an 18min flight - my record! The copter handled very well - extremely responsive to the controls with smooth attitude changes (no oscillation as far as I could see). I'm wondering if the extra weight has played the copter into the existing tune parameters just about perfectly).

                  One strange thing I did witness - on takeoff, I was in Stabilize mode and given there was zero wind, i found it strange that the copter was moving rightward, so I chose to tweak the aeleron trim to the left of center to get it to stay put. I then noticed after switching to PosHold that the copter was rolling rightward unless I stopped it with the stick manually. I put the aileron trim back to center and the copter then ceased its rightward movement to become stationary as would be expected. Strange that a leftward trim would make the copter roll to the right in PosHold - again, probably my inexperience in understanding some well known phenomenon!

                  Any advice and thoughts would be welcomed.

                  Thanks, Paul 

                  • Paul, 

                         The vibrations are significantly better than they were before. In your first picture those large vibrations appear while you were at a fairly high pitch angle. Presumably flying in a fast manner. While you are relatively stationary the vibrations are much lower. This can be easily seen by graphing Despitch and DesRoll with your vibration values

                    From what I have seen vibrations effected by speed are due to wind either pushing your FC platform or wiring going into the FC around during forward flight. These vibrations are usually minimized by a cover on the FC (Flight computer)

                    Another possible source of vibrations could be PID related due to higher motor power. This is usually resolved with the softening of PID values. Note: Most of the time people accept this as normal and don't bother with it due to the fact that fast forward speeds are not required unless it is an acro type of vehicle. 

                    Before you troubleshoot PosHold determine the cause of the lean witnessed in stabilize mode. 

                    Takeoff in a zero wind environment with a Tx switch assigned to the function of Save Trim. Trim your aircraft level with your Tx trim, land, disarm, and then use the save trim switch. Once this is done Re - zero your Tx trim, arm and verify the copter is level. Repeat the process as required to attain level flight in stabilize mode. If you suspect wind is effecting you, rotate the copter 90 in flight and see if it still wants to fly in any specific direction. You'd be surprised how much wind there actually can be despite not being able to physically feel it. I've often started a small smokey fire for visual reference to confirm just how much wind there is. Once you are good in stabilize mode then worry about PosHold (Flight mode is effected by Tx trim outside of neutral.)


      • Your VCC data from the logs is interesting. When i graph the VCC from the CURR portion of the log i see my original posted picture. When i look under the POWER tab and graph the VCC i see the data you've posted. I've never seen two different values for VCC depending on where it is graphed from. On all of my builds the two graphs have always matched. Perhaps a developer will see your posts and be able to shine some light into that particular problem. 

        Do you have ESC's with power plugged into your servo rail? or are all of your ESC's OPTO, my understanding is that the 40A X-rotor esc's are opto but i'm not 100% sure. 

        As far as the vibrations go, determining the root cause is always the #1 priority. Damping is a secondary task. The best dampening will only help but not resolve vibration problems.

        With regards to platforms, I have used variants of that damping platform you are currently using. The vib balls placed at 45 to provide constant pressure in all axis. Never have I had vibrations as high as yours. Strangely your platform looks upside down in comparison to the ones i've used but I am not familiar with every brand.

        I have experimented with hobbyking foam pads found here:Gyro mounting pads

        Vibration balls, Kysho gel, and Moon gel. Ultimately All of them provide ~ the same levels of vibration dampening when compressed to optimum efficiency. When uncompressed the gel tends to provide better damping coming only second to moon gel. However moon gel is not an option for me due to its low melting temperature. 

        When it comes to vibrations and hunting down the source I start with the props, double check the balance and prop security. Once thats done I check the motors. For those with Iphones motor vibs can be easily analyzed. Sadly i'm an android guy but a quick google search for Iphone and vibration meter will lead you down the right path. Also, start removing things one at a time. Anything not flight essential should go and I would definitely start with that dome. It could be resonating with your motors at specific frequencies. FPV Gear and Vertical antenna's go also. if they are of sufficient mass they can also cause issues. I tend to lay mine flight just to help remove possible sources of vibs. 

        With regards to the screeching noise that sounds like a motor sync issue. Well, Any motor screeching is an issue that must be resolved before further flight. It can be a sync issue, It can be an ESC refresh rate problem, ESC timing, Binding bearings, screw too long into the base of the motor shorting a winding, and the list goes on. 

        As far as your motors go, Any manufacturer can have a bad batch. I've heard people love as many brands as people hate them. I use everything from KDE motors, to NTM hobbyking motors. In all aspects of price range i've had good and some bad. from everything you've said i'd assume your screeching motor is to blame for your problems. 

This reply was deleted.


DIY Robocars via Twitter
RT @Heavy02011: #VirtualRaceLeague: @DIYRobocars Race #14 - #ParkingLotNerds join us January 15th for #AutonomousRacing #RoboRace ⁦@DAVGtec…
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…
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…
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
DIY Robocars via Twitter
RT @JoeSpeeds: Sat Nov 6 Virtual DonkeyCar (and other cars, too) Race. So bring any car? @diyrobocars @IndyAChallenge…
Oct 31, 2021