Now that we have version 2.9 and inertial primary control for the Z axis and soon to have it for X and Y axes as well it is necessary to take vibration dampening and isolation of the flight control board much more seriously.

Primary improvements can certainly be made by balancing the props and motors.

So far it seems that the more rigid the frame the better because frame flex introduces undesirable mechanical delay (hysteresis) in translating motor induced actions to the centrally located flight control board. (Do NOT shock mount the motor Arms).

It may be reasonable to somewhat vibration damp the motor mounts themselves because they are on one end of the mechanism.

However, primary damping gains will be made by vibration isolating and or dampening the flight control board itself.

So far we have undertaken this process simply by trial and error sticking on of Foam or Gel pads or using O-ring suspension of the board to outboard standoffs.

This has achieved (barely) acceptable results, but is certainly by no means optimum.

The crucial fact that we have not properly addressed is that the amount and type of dampening medium needs to be matched to the weight (mass) of the item we are trying to isolate.

In fact we are trying to isolate a flight control board that weighs under an ounce or less than 2 ounces in its case which is a very small mass.

Our current "solutions" are actually designed for much larger masses and are not nearly as effective for the light mass of our flight control board as they ought to be.

I have done some on line research which did fully verify this inadequacy.

Virtually all off the shelf solutions (either pad or stud type) basically require a suspended mass that would weigh at a minimum 5 to 10 times what an APM or PX4 / IO board(s) weigh or more for optimal effectiveness.

This includes all pre-made Sorbothane, Alpha gel, memory foam or other silicone or urethane gel or foam mounts including Lord Micro mounts.

However, Alpha Gel or 30 durometer Sorbothane or Kyosho Zeal Gel double sided tape do appear to be the best possible solutions at this time so long as you use small enough pieces of them.

Simply putting a double sided pad under the entire board as we normally do now is entirely inappropriate for maximum vibration isolation and it is amazing it works at all.

Optimally you would use pads of them smaller than 1/2" square (possibly even 1/4" square) on each corner of the board or APM enclosure box. (smaller for the bare board than the board in the box obviously).

You could also improve isolation somewhat by sandwiching the board / enclosure between pads on both sides in slight compression.

So far we have done a dismal job of approaching this like engineers, but the reality is that with the massive excess quantities of vibration absorbing materials that we are using versus the mass of the APM (or PX4) has produced better results than not using them, but no where near what could be achieved by using the proper weight and size of dampening / isolation material.

The basic solution is to reduce the actual isolation medium to the 4 smallest pads you can get by with on each corner and using the softest commercially available dampening materials you can find.

A further gain can be made by placing the item to be damped in 10 to 20 percent compression between 2 pieces of the dampening material.

Thickness of the dampening material does improve dampening and isolation but is not nearly as important as selecting the right material and the right size of the supports made from it.

I believe that Kyosho Zeal tape is 2/10 of an inch thick and that is probably plenty for our use and the frequency range we are trying to damp.

I would very much like to see 3D Robotics produce a APM (and PX4 / IO board for that matter) case with proper internal shock mounting of the board(s) with dampening data for it.

I actually suspected this result from the start of my investigation and a little thoughtful research has completely confirmed it.

Another significant gain in vibration isolation can be had by using a high flex wire and strain relief approach to all wires connected to the Flight control board (and using the minimum number of wires necessary as well.)

I have used the concept of vibration isolation and dampening somewhat interchangeably in this discussion.

Isolation is simple undamped (spring or rubber band support) which allows the movement of the isolated object largely separate from the containing object.

Dampening is the conversion of vibration into heat energy by a shock absorbing medium (car shock absorber for instance.)

Our ultimate goal here is to provide the most high and medium frequency reduction while still allowing low frequency actual board movement to take place with a minimum of delay.

So realistically our methods embody both Dampening and Isolation.

I have covered a lot of ground here, but this is at least a good start for designing some real world vibration solutions that are bound to work better for us than what we have done so far.

Please try your own experiments and kick in your own thoughts here, that's how we get better and this is just a launching point.

Here is an excellent link to some definitive research and testing that will help:

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

Join diydrones

Email me when people reply –


    • It would also be a good feature to ask for the AUW to show the efficiency in watts/gr.


      • MR60

        If you can get pilots to calibrate the volt and amp inputs,  I'll consider it :-)    ... over 500 watts ... not calibrated or just a big hummer UAV?

        • Kinda big, 4.6Kg auw, a tarot 680 pro hexa with 13" props. two 10AH 4s turnigy lipos. I'm getting around 30 min of flight time

  • T3

    I think vibrations and stability should be analyzed separately and at different stages of setting up a copter. For sure both are important and there is a relation between stability and vibrations.

    The first thing when setting up a copter is to take care of vibrations. This is the hardware side. For vibrations we have two things: the levels (IMU.acc and Vibes) and the vibration frequency spectrum, which all can be analyzed in Mission Planner and Forrest's Hover Analysis Tool. If IMU.acc and Vibes are low all is fine. If not one should have a look at the hardware and/or the frequency to try to determine the cause.

    The second thing is stabilizing a copter. Stability depends on tuning - which is algorithms/firmware (assuming the copter is not underpowered). Stability can be determined by looking at Roll vs. DesRoll and Pitch vs. DesPitch in the NTUN messages. The closer they are - for example Roll vs. DesRoll - the more stable and controlled the system and the less vibration should have a negative influence. This can be used to compare tuning settings and ships and in all flight conditions - not only in hover. Aggressive flight might also be used to determine is damping is too soft. In Loiter DesVelX vs VelX and DesVelY vs VelY might be used as well.

  • MR60

    Gary wanted to see the standard deviation of the RCOU rotor PWM values. So I've added that to the latest version of Hover Analysis. We'll need experience with those numbers to understand:

    - what they might indicate

    - what is good and bad

    - what to look for


    You'll find the new Hover Analysis here: 

    • MR60

      This approach is interesting but we have to be aware that:

      -Shanon rules that it will not measure any variations above 25Hz (half the PWM update date)

      -the standard variation applies on a time period which will be too long to detect rapid variations

      -PWM output variation is not only the result of stabilization intended changes but also the result of motor bearing hard points, FETs in the ESC, wiring on the whole chain from fc to motor, prop imbalance, etc

      -Cannot be used to compare two ships which is a deal breaker (can only be used to compare the same ship)

      -Cannot be used if the environment of the tests are not exactly identical (even slight wind)

      Therefore I believe it is much easier to use the current direct vibrations measurements, even though it also has its limits.

  • MR60

    Latest Version 20160530

    Gary wanted to see the standard deviation of RCOU for each rotor.

    Hover Analysis 20160530.xlsm

    • MR60

      When clicking on the button to load a log file, it shows me a pop up saying : "the start and end precision for elevation needs to be non zero; See file config Data tab"

      What am i doing wrong ?

      • MR60

        Thorsten is getting the same error message and yet the values are OK. How well do you know VB?

        - In the config tab there is a variable called ElevationStartEndPrecision that is set to 5%

        - Yet in the VB module Get_Config_Data, 13 coded lines from the bottom, it doesn't appear to set the value

        - So in the last few lines, where it checks that variable, it sees a value of 0 and stops, generating that error code.

        - What I need is someone who understands VB and lives in the EU to look at what's different in the EU

        - It's possible that there is a setting where the 5% is being read as text and is not being converted to a number.

        - The way to find out is to go to the line below Case "ElevationStart...", and press function key 9

        - That will mark that line of code to stop

        - Press the button to bring in a file and see if it stops there. If it does, then figure out why it's reading 0 versus .05

        If you don't know VB, attach your log file and I'll run it. 

        • Hi Forrest,

          Regarding the problem some of us in the EU are having, here is the solution:

          In the Get_Config_data, replace the line:

          ElevationStartEndPrecision = Val(Sheets("File Config Data").Cells(RowCount, 2))


          ElevationStartEndPrecision = CDec(Sheets("File Config Data").Cells(RowCount, 2))

          and the problem is gone.

          Don't know if it has something to do with the combination of Excel version (tried with 2016) and/or international setting, but the above resolved the error, and I get the correct value of 0,05 in ElevationStartEndPrecision.

This reply was deleted.