Strange Pitch-axis Oscillation

Hi all,

I’ve been chasing a weird oscillation problem for close to a year now. It isn’t visible by line-of-sight, but makes FPV really unpleasant. The oscillation is in the pitch-axis, and appears whenever there is horizontal motion.

I’ve exhausted the obvious (to me) possibilities, like motor/prop vibration, PID tuning, flight mode, airframe resonances, damped mass (gimbal) resonances, bad hardware, and video sync. The aircraft has evolved considerably since I first noticed the issue, but the problem persists. The only parts that I haven’t changed are the FC vibration damping, and the motors/ESCs.

The vibration damping just occurred to me today, so that will be my next test.

So I’m now forced to consider some possibilities that I hadn’t before, or didn’t want to. I may have to replace the ESCs and motors. I really want to be able to use the set that I have. They are KDE products and set me back quite a bit. The possibility that I want to ask the forum about is whether or not there are any FC parameter changes that might help. I’m using a 3DR Pixhawk, Rev2.1, and Copter 3.4.6.

I’ve included a link to a goggle DVR recording and a recent dataflash log.

I would be most grateful if there is someone out there who can look over the log for anything unusual. I’ve spent some time checking it out, but I’m not expert enough to spot a problem. One thing that you might notice is that my STAB gains are pretty high. I don’t know why it tunes this way, but I do know that I can reduce the STAB_P gain until the aircraft is extremely mushy and the problem persists.

The aircraft is a TBS Disco Pro, with 5200mAh/4s, KDE 20A ESCs, KDE XF2315-885kV motors, minimOSD, ImmersionRC 600mW/5.8GHz VTX, DragonLink Micro RX, 3DR GPS/Compass, my own barometer mod (tried that too), Runcam Swift FPV cam.

I would be looking first at your frame and camera mounts before the motors and esc’s.

If it is only happening in forward flight, is it proportional to speed?
How flexible are your props?
How flexible are the arms?
Are the camera mounts solid or is there slop?

To me, it looks like a mechanical issue.

Hi Mike,

Thank you for your reply.

Yeah, it looks like a mechanical issue, but as far as I can tell I’ve eliminated all mechanical sources.

If it is only happening in forward flight, is it proportional to speed? - The oscillation happens in horizontal flight, but is most obvious in forward flight.

How flexible are your props? - The current props are quite flexible. However I’ve also been using very rigid props. No difference in behavior. Is Graupner 10x4 C-Prop. Was APC MR 10x4.5.

How flexible are the arms? - The arms are slightly flexible. They are the standard glass-reinforced resin F450 arms. However I have also used very rigid carbon fiber arms. No change.

FYI - I’ve even changed the frame plates. Was carbon fiber. Is G10-FR4.

Are the camera mounts solid or is there slop? - The camera is a typical mini FPV cam, mounted on the bracket supplied with it. Again, fairly rigid, but not perfect.

Also, In the flights recorded in the linked files, the camera gimbal is disabled and fixed with electrical tape to prevent the damped mass from interacting with the FC control loops.

I’ve linked a couple of images of the aircraft for reference.



Here’s a pic of an earlier incarnation of the beast. This version had essentially the same problem. Though the frequency of the oscillation was a little lower.

What is the tube into the front of the Pixhawk?
You have bundled wires exiting the PH at the top, could they be causing a fluctuation, inducing an oscillation into the PH in forward flight?
Have you thought of mounting your camera facing the PH for a flight to see what it is doing in forward flight?
Have you tried flying with a cover over the PH to protect it from disturbed airflow?

Thanks again for your reply and questions.

The tube into the front of the Pixhawk is for an external static pressure port. This is the funky disk sticking out of the top. I hadn’t thought of that as a possible means of coupling vibration into the IMU. I’ll try a test flight with the tube disconnected.

I have looked at the bundled ESC wires as a cause. I removed the cable ties and let the wires hang out with only enough constraint to keep them from contacting the props. I didn’t observe any improvement, but maybe there is more that I can do here.

I hadn’t thought of mounting the camera facing backward. Interesting idea. I’m certainly willing to give it a go.

The external static pressure port, in theory, makes a cover over the Pixhawk redundant. However, I guess I can’t rule out the possibility that there is still an issue there. I wish I could glean more from the dataflash logs. I can’t tell by looking at the baro measurement if the behavior is normal or not. But then it doesn’t look like the granularity is fine enough to pick up something in the neighborhood of a 5-10Hz oscillation.

And my effort to change the flight controller vibration damping didn’t yield anything. I tried both changing the damping balls from 50g to 200g and also tried taping the FC to the top plate while still on the damping mount. No improvement. I don’t want to strap the FC directly to the top plate due to a history of vibration-induced fly-aways.

Thanks for the suggestions!



I am not sure if this will be usefull, but I had mixed results only when using the dampening mount that you apparently are also using. It did bring the measurable vibration levels down as expected, but it actually induced some resonance related vibration peaks at certain frequencies - and the actual flight behaviour was far from good. autotune led to less than desirable results.

I was getting pretty frustrated and then decided to give it a “last try” by ripping out the anti-vibration mount and fixing the FC directly to the CfK using 4 1cm^2 pads of 3M VHB tape.

And guess what - the result was amazing - autotune produces really good results all of a sudden and the stability of the copter is much better, on a calm day it hardly moves in any direction, no twitching, no vibrating.

As part process I realized that my vibrations actually were caused by the screws not being tightened enough and thus giving the whole frame some flex. I had experimented with aluminium screws but it didn’t work out, I was not able to tighten them enough to eliminate the frame flex. Now I am using steel screws tightened to 0,6Nm using a torque-wrench and it is all pretty solid.

And I mounted a cover over the FC like this

I screwed it on with ~12 screws - and i think by doing so further stabilized the overall structure and reduced flex further.

So for me, I got rid of the vibrations using better screws with significant torque, a stabilizing “hood” and by removing the anti-vibration mount.

Sorry for all the text, but i thought it might be an inspiration at least…



Thank you very much for the info!

I’ll be brave and try attaching the FC directly to the top frame plate. I’m nervous about the idea. I’ve had fly-aways with other Pixhawk aircraft due to vibe issues that I couldn’t overcome with prop/motor balancing. That was why I originally bought the KDE motors. I was tired of screwing around with vibration issues. I was chasing a persistent jello problem when the oscillation showed up.

The screws supplied with the Disco Pro kit do leave something to be desired. The heads are really sloppy. The socket caps are both too large and have a wide tolerance. About half of them slip on my hex drivers, any of them, and can’t really be torqued down. However, they do provide many spares. I’ll go through them and pick out those that fit snugly and see if I can improve the frame rigidity.



I’ve mounted the Pixhawk directly to the top frame plate with VHB and high-graded the screws to get as many good ones as possible.

I recalibrated the accelerometers and compasses. Autotune completed without issue. That is where the fun stopped. The oscillation problem got worse. It is now more consistent in all horizontal directions and is even present at times in hover. So I’ll retract my previous statement about exhausting all mechanical options. This mechanical change clearly had an impact on the failure mode.

I also managed to introduce a nasty throttle oscillation that I’ve never seen before. It became very difficult to avoid damaging the aircraft.

Thank you for the suggestions and for helping me to look at the issue from a different perspective. I need to go ponder this awhile.

Since I’ve heard two mentions of frame stiffness, I’ve decided to revisit my previous observations and assumptions on the subject. Looking again at the carbon fiber arms that I have, the composite part of the arm is quite rigid, but the mounting allows about as much flex as the DJI arms. There is also a manufacturing tolerance issue that causes a couple of the arms to wiggle. They are a folding type. I spent some time shimming the gaps and have remounted them on the aircraft.

Looking into the issue still further I realized that the KDE motors, 10" props, on 4s have about 3x the maximum thrust of the original DJI 2212 motors, 9.4" props, on 3s. I have some TBS 900kv2 motors on the way. It will take a couple of weeks to get here from Hong Kong. It would be a bummer to lose the performance of the new motors, but maybe this frame really isn’t stiff enough.

Off to the field…

Still no joy. I’ve swapped out the ESCs for some cheap Turnigy units. It looks like there could be a slight improvement, but definitely nothing obvious.

Do you think a ground loop could cause such a problem? I’ve already fixed one ground loop, through the bulkhead-mounted SMA jack. Grasping at straws here. The power distribution is very different now, compared to the carbon fiber frame version of the aircraft. Both aircraft have/had roughly the same oscillation behavior.


Really hard to say, but maybe look at it a different way - what have you NOT changed out yet to get it under control?

Tried hard mounting your camera? In case the oscilation is in your camera mount and not in the frame?

Tried a more robust way of fixing the arms to the main frame?

It’s hard to see from the pics, but it appears the arms are only fixed with two screws at the very tip? That might not be the most robust way to attach them?

Just for comparison, in my case, I have the arms reach into the main frame by ~5cm and have them fixed with 4 screws each arm. I can take the whole copter at two opposite arms and try to “bend” it like you would try to bend a rod, it does not bend more than maybe 1mm - at a length from tip to tip of about 80cm.

In my earlier design I had massive vibration issues with the poor screws on the same frame, when I did the “bend test” it would flex more than 1.5 cm. Since I got it really stiff all issues are gone…

Just thinking out loud here…

Thanks Christian, once again. Sorry that I didn’t see your message before now. I’m no longer receiving email notifications.

I appreciate your participation in brainstorming, or drizzling in my case.

I’ve spent a fair amount of time asking that question “What has not changed?” I’m really narrowing it down now. Motors and ESCs are different. Although it is a different physical unit, it still uses a Pixhawk. I don’t want to abandon Pix/AC, but I have a Naza-M Lite on the way, just to eliminate the possibility.

Yeah, this frame is not as stiff as it could be. The arms are each mounted with six screws. All screws have been checked, per your previous advice. I’ll definitely keep the frame idea in mind. Your personal experience with frame flex is a valuable data point.

In the Pixhawk vein, there is one possibility that occurred to me just a few minutes before checking this thread. Both of my Pixhawks are modified with an external static pressure port for the barometer. Being modified the way they are, if I haven’t sealed well enough around the baro, I could be getting air gusts coming in through the microSD opening. At one point I had tape over the opening to improve the FC’s resistance to the elements. I removed the tape at a time when I was pulling the uSD card often to copy logs. It’s a long shot, but possible. I put some tape over the opening. I haven’t seen any obvious signs of a problem in any baro readings, but the granularity of the log is pretty large.

For the moment I have an unflyable quad, due to a different issue. I need to get that worked out before I go back to 3.4.6 or 3.5.

It’s been a long and expensive ordeal. When I get the mystery solved, I’ll get two things out of it: the opportunity to laugh at myself, and parts enough to build two complete Discos.



How right I was.

It was the tape. After a year of screwing around with weird, jerky flight behavior, it was the tape.

Here’s what I think happened. There has always been a leak in my external static pressure port. The tape masked the problem by blocking airflow into the uSD slot. When I removed the tape, I exposed the problem. The confusing part is that I tested in Stabilize mode. I didn’t think that Stabilize depends on the barometer for attitude control.

Thanks to Mike and Chris for your input. Your time and Ideas are greatly appreciated.


Hi Chris,

Glad you found it - this nasty issues are hard to pin point - in the end only elimination of possible root causes helps, step by step :slight_smile:

Independnt of the issue I’d be interested to understand what you are trying to achieve with the static pressure port thingy you’ve built though. I don’t think I’ve come across anyhthing like that quite yet…



The intent of the external static pressure port is to correct altitude errors caused by body/frame aerodynamic effects. This is that infamous losing altitude at the end of a horizontal run issue. I was never able to cure it with a cover over the FC.

Here’s a thread on the subject. >