Perform the 3-axis accel calibration again. Then level the craft and perform a single axis “Calibrate Level” and check in the HUD that it is actually level. That’s all you can do.
What transmitter do you have? From the last log you posted it doesn’t look like you performed a Radio Calibration.
Radio calibration is done, I have skydroid t10, it doesn’t have any trimming options, can I tilt the drone on the opposite side of the drifting to compensate for it? Also please answer:-
Does accel calibration resets the imu level? Or the factory leveling done on imu cannot change? What does accel calibration actually calibrates?
If the FC is not level with the frame you get the kind of effects you are seeing.
The correct solution is:
- Make sure the landing legs make the drone body level.
- Make sure the body is leveled
- Make sure the motors are leveled with the body
- Make sure the FC is leveled with the body
- Calibrate the Aceels like @dkemxr said
Tilt to the opposite side is not reproducible. Do you really want to tilt the drone every time you arm it? How are you going to make sure it is always the same tilt? If the FC is not level with the motors there is no amount of tilt that is going to make it work!
No, the accel calibration IS the IMU level.
There is no such thing as factory IMU level!
Calibrates the IMU level
Hello everyone,
After a long and very educational tuning process on my quad (which many of you have helped with in this thread), I wanted to share a summary of my experience and the key lessons I’ve learned. My hope is that this can help other builders, especially beginners who find the tuning process, particularly the Harmonic Notch Filter, a bit intimidating.
A huge thank you to everyone who provides support on these forums, especially @amilcarlucas, whose guides are invaluable.
Here is a breakdown of my journey, from build to a fully tuned aircraft.
Part 1: The Foundation – The Build is 90% of the Problem
My biggest takeaway is that most “tuning” problems are actually mechanical problems. Software can’t fix a bad build. Before you even think about connecting to a configurator, you must be meticulous with your hardware.
- Wiring: Double-check every single wire. A loose ground wire, for example, can cause a power module to fail.
- Component Separation:
- Keep ESCs as far from the Flight Controller as possible. If they must be close (like in a stack), you should disable the internal compass and rely on an external one.
- Mount your GPS/Compass on a mast, as far away from all power electronics (ESCs, battery wires, power module) as you can.
- The three-phase motor wires create a lot of electromagnetic interference. Keep them away from your FC and GPS.
- Custom Frames:
- Symmetry is Key: Ensure all arms are equal in length, all motors are perfectly level (not twisted or tilted), and your CG is dead center. The flight controller must also be perfectly level.
- Vibrations: Tighten all nuts and bolts. A single loose screw can cause a resonance that is impossible to tune out. Also, make sure motor wires on unsealed motors are securely tied to the arms.
- ESC Cooling: ESCs get hot. The best place to mount them is on the arms or directly under the motors, where they get airflow from the props.
- Propellers: Balance your propellers. This one step can solve many “mysterious” yaw bias issues and reduce overall vibration.
Part 2: The Tuning Process – The ArduPilot Methodic Configurator (AMC)
Before you start the official tuning, I highly recommend a quick maiden flight in Stabilize mode. This gives you a raw baseline of the aircraft’s behavior before any software magic.
After that, the ArduPilot Methodic Configurator (AMC) is, in my opinion, the single best tool for the job. I would say it’s mandatory for a new build. It guides you through every step in a clear, logical order.
- AMC GitHub: GitHub - ArduPilot/MethodicConfigurator: A clear ArduPilot configuration sequence
- Beginner’s Video Guide: This video from sir, @amilcarlucas is a must-watch:(https://youtu.be/tM8EznlNhgs?list=PL1oa0qoJ9W_89eMcn4x2PB6o3fyPbheA9)
The AMC will guide you through everything, but the step that required the most learning for me was the Harmonic Notch Filter.
Part 3: My Beginner’s Guide to the Harmonic Notch Filter
The filter seemed complex at first, but after practicing with my logs, it’s a straightforward and incredibly powerful tool. Here is the step-by-step method I’ve developed.
Step 1: Get the Pre-Filter Log
First, we need to fly the “noisy” aircraft to get a baseline.
- Set
INS_LOG_BAT_MASK = 1(to log the first IMU). - Set
INS_LOG_BAT_OPT = 4(to log pre- and post-filter data). - Fly your aircraft in Altitude Hold or Loiter for at least 30-60 seconds in a stable hover.
- Land, disarm, and download the
.binlog file.
Step 2: Find Your True Hover Thrust (MOT_THST_HOVER)
This is a critical anchor point for the filter.
- Set
MOT_HOVER_LEARN = 2(Learn and Save). - Perform another flight with a stable hover.
- Crucial Step: Manually verify this value. Open the log and plot the
CTUN.ThO(Throttle Output) message. The average value ofCTUN.ThOduring your stable hover is your true hover thrust. Use this value.
Step 3: Analyze the Noise in the Filter Review Tool
- Go to the online ArduPilot Filter Review Tool:(ArduPilot Filter Review)
- Load your first
.binlog. - In the top graph, click and drag to select the 30-60 second stable hover period.
- Click “Calculate” and go to the “FFT” tab.
- Check the “Pre-filter” boxes.
Step 4: Set the Filter Parameters (The Easy Part)
You will see “peaks” in the graph. This is your noise.
INS_HNTCH_FREQ: Set this to the frequency of the first, lowest motor noise peak. (For me, this was a “cluster” around 80-90 Hz).INS_HNTCH_BW: Set this to half of yourFREQ(e.g., ifFREQis 80, setBWto 40).INS_HNTCH_HMNCS: Check the boxes for the other noise “peaks” that are multiples (harmonics) of yourFREQ. For most quads, checking the 1st, 2nd, and 3rd harmonics is enough (HMNCS = 7).INS_HNTCH_REF: Set this to your manually verifiedMOT_THST_HOVERvalue (e.g., 0.424).INS_HNTCH_FM_RAT: Set this to 0.7. This allows the filter to keep tracking the noise when you lower the throttle.INS_HNTCH_ATT: Set this to 30. This controls how “deep” the filter cut is.
Step 5: Verify the Filter
- Write these new parameters to your drone and reboot.
- Fly again, just like in Step 1.
- Load the new log into the Filter Review Tool.
- This time, look at the “Post-filter” FFT graph. The noise peaks you saw before should be gone, and the line should be much flatter, down at the “noise floor” (the baseline noise level).
- You can also check your
RCOUlogs to see if the motor outputs are smoother.
Part 4: Common Problems & Lessons I Learned (The Hard Way)
My aircraft’s logs showed several complex problems. Here are the solutions I found, which seem to be common:
- Problem: My vibration is extremely high (e.g., +5 dB or -10 dB).
- Solution: This is a mechanical problem. Stop. Do not try to filter this. The software cannot fix a physical failure. Go back to Part 1. Find the bent motor shaft, unbalanced prop, or loose arm.
- Problem: My motor noise isn’t a sharp spike; it’s a wide “mound” or “cluster” (e.g., from 80 Hz to 100 Hz).
- Solution: This is normal. Set your
INS_HNTCH_FREQto the center of the mound (e.g., 90 Hz) and use theINS_HNTCH_BW(e.g., 45 Hz) to make the filter wide enough to cover the whole cluster.
- Solution: This is normal. Set your
- Problem: I have a noise peak at a very low frequency (e.g., 30-40 Hz).
- Solution: DANGER. Do not use the main dynamic filter (
INS_HNTCH_*) for this. This frequency is in your control bandwidth and filtering it will cause massive phase lag and instability. This is a frame resonance. - The correct fix is to use the Second Notch Filter as a static filter:
INS_HNTC2_ENABLE = 1INS_HNTC2_MODE = 0(Static)INS_HNTC2_FREQ = 35(or whatever your low-frequency peak is)INS_HNTC2_BW = 20(A narrow bandwidth is fine)
- Solution: DANGER. Do not use the main dynamic filter (
- Problem: I set
INS_HNTCH_HMNCSto 7, but there’s still a peak left over at a high frequency (e.g., 392 Hz).- Solution: This is the same as the problem above. The 392 Hz peak is not a harmonic of your motor; it’s another resonance. You must use the Second Notch Filter to remove it, just as described. (Note: If you have both a 35 Hz and 392 Hz resonance, you must pick the one that is louder and more dangerous to filter first).
Part 5: Final Steps
After your post-filter FFT is clean, further AMC steps are there to guide you the rest of the way. I recommend following its advice to run Autotune before jumping straight to the “everyday use” parameters.
If you still see “Vibe” warnings in Mission Planner during extreme maneuvers, you may need to look into a better vibration-damping mount for your flight controller, but only after you have exhausted all other mechanical and software tuning options.
I hope this write-up of my experience helps someone else. This has been a long process, but I’ve learned an incredible amount.
This is already stated in section 1.1 of the AMC tuning guide
Not a good idea. Start by reading section 1.1 and performing AMC steps 04 to 18 before even thinking about taking off!
No need to do this. AMC will automatically set these parameters to the best value depending on your FC in AMC step 14.
Again, no need for this. AMC automatically does all of this in AMC step 20.
With the new multisource Notch the BW is no longer 1/2 the peak frequency
The REF value needs to be adjusted when FM_RAT is 0.7
That is not the best solution. Use ArduCopter 4.6.x and activate multisource. It will give you better results.
If the amplitude of the peak post the filter is smaller than -50dB you do not need to filter this.
after doing all the steps before autotune(except magfit) i am unable to get a good tune, i tried autotuning it 2 times but the drone is osscilating after giving it a sharp yaw or pitch command. it flies relatively stable in default pid, but still it osscilates a bit in hover position. i tried setting up mot_expo using my performed thrust experiment on the motor and propeller(only one set). i did the whole setup above 3-4 meters where there is no wind and followed all the steps here AutoTune — Copter documentation, still i am not getting a good tune. i have attached the videos of the drone flight and logs and also thrust test.
Yes, after 4 months of messing around tuning is poor. It could be attempting different colors of lipstick on a pig with that frame build. I would use Transmitter Based Tuning which is just a method of manual tuning. If you flash the Dev version of firmware you can configure 2 channels which will speed up the process a bit. But no matter what it can be a bit time consuming. At the end of the tunnel though you will know a lot about PID tuning because there is no “Auto” about it.
IMO your frame is not sturdy enough, too much noise and vibration, also you need to invest in gathering RPM data by using some ESC that support that, it will do filtering so much simpler.
did the frame modification, can you please share filter configuration for the following
i am not getting it. there are 3 peaks at 39,71 and 91hz and i cannot attenuate all the peaks because the maths doesnt add up. please share filter configuration.
The maths not adding up (71 and 91 not being multiples of 39) is a clear sign that the hardware still has issues and is still not sturdy enough.
Fix the hardware better, and then the notch will also work better.
Sir, can you suggest some changes? I have sandwiched 2 aluminium plates between 4 12x12 Aluminium square hollow pipes, the overall weight is less than 500g, the only vibration I can find is at the end of the pipes where motors are mounted. And as I change the propellers , the vibration level also changes.
Aluminum is not a great material for a frame build. The arms are poorly mounted to the plates with insufficient support and those huge holes for the motor leads are decreasing the arm rigidity.
Sir, at this point I have given up and want to sell my drone and just quit the hobby. I tried everything, the drone feels like one whole piece, rigid, sturdy. I have used double decker box to fit the flight controller at the second level and escs on the first level(just below flight controller). I can’t afford to buy new parts or frame
or carbon fibre.
I have not read the whole thread but have you mounted the autopilot using anti-vibration mounts? I for one have cut four earplugs at the center and attached it to the four corners of my Pixhawk 2.4.8 using gel-tape. The base is mounted to the frame by some sort of glue. I have not yet tuned my drone so I dont know the vibe levels but from some certain tests I have done, it seems like vibration is very very low. But this is for the IMU, bot sure if a bit of frame flexing will have adverse effects.
EDIT: I scrolled up and saw that you have attached your Pixhawk using anti-vibration mounts, so never mind
You don’t have to quit the hobby; just realize the limitations of your craft and have fun with what you have. ~10yrs ago I had a similar situation with a build by taking an already poor frame, the venerable F450, and putting extended aluminum arms on it. It was a ridiculous machine but on 6S power that thing would fly for 45 minutes. It didn’t tune very well no matter what I did but I had a lot of fun with it anyway.
And, here it is:
So, set your notch filter on the 1st peak (~39hz) with a 2nd harmonic and let the gyro filter do the rest. Then try lowering the Rate Pitch/Roll D-term a bit as you have what looks like D oscillation. Then try Auto Tune. If that doesn’t run try Quick Tune. Or, just try Quick Tune 1st and see what that get’s you.
Then, just fly it.
Was this the orginal thng? How exactly did you feel the bad tune? I am also building an F330 frame, going into PID tuning in a few days. Wish me luck ![]()
It was one of the early knock-offs of the Flamewheel which came with the shitty plastic arms. I had these aluminum arms on it until they pretzeled in a crash then put G10 arms on it, also extended, and then the shitty frame plate broke. They are truly junk frames. Why don’t you use a cheap CF 7" frame instead of that F330 Frame? They are junk too.
Make the arms shorter. That will reduce flex and vibration. and the Box for the FC Probably just adds to the vibration.
I am not aware of “ CF 7” “ frame. Did a google search but there are no results with anything of that name here in India.
By the way, this is for my college project and the whole thing is already on the expensive end for us, so yeah that’s why I chose F330. It only costed less than Rs. 1000. Now, I’m thinking I should have gone for a smaller frame since this is an indoor drone since this is a bit big to handle, but this build was the cheapest I could put together, considering all components.
By plastic, you mean glass-fibre right? Mine seems to be glass fibre (This is what the vendor page says: Glass Fiber + Polyamide-Nylon)




