Can ESC rpm signal output be used to automatically tune INS harmonic notch filter


I would like to know if one can use an ESC rpm signal output to automatically tune the INS harmonic notch filter in realtime. If so, how do you physically connect the ESC signal to a Pixhawk cube orange flight controller, and how do you set it up in ArduPilot?

Thank you, William

What ESC is it? Will you be feeding the RPM data from all ESCs or just one?
Generally if using a BLHELI32 ESC and DSHOT this is all you need after getting the ESC telemetry working:


The FREQ and BW may need adjustment to suit your aircraft.
Usually you would start by setting this to collect the required data for FFT analysis

FFT referenced notch will do that.
In-flight FFT Based Harmonic Notch

Hi Shawn,

The ESC is an Neumotors ADP 28S 300/400 A. It has a hardware RPM signal and no telemetry. So the hardware output signal needs to be hardwired into the flight controller. Is this possible and if so how do you setup ArduPilot to track the signal and use it to tune the INS harmonic notch filter?

ADP ESC info:


P.S. my design is actually more complicated. It is a 200 lbs tricopter with 2 more ESCs of a different type in front (Turnigy Fatboy 15S 300A), but they have no hardware RPM output signal.

Details of the vehicle design are found here:

Hi Dave, If I understand correctly, the FFT method requires one to hover the vehicle for 30 sec and use the resultant data log to make an FFT of the IMU noise, enabling one to determine the center freq of the motor noise and the percentage thrust level. This data is then input into the Ardupilot parameter file. But this method requires the Throttle to be linearized, so that the throttle will adjust the filter center frequency.

But I am asking if there is a method that allows one to directly input the hardwire ESC RPM output signal into the flight controller so that the Filter can track it and adjust the filter so that it filters out the motor noise for any rpm the motor operates at?

That’s not what I’m talking about. That’s using an FFT tool to analyze the data post flight and set parameters as you say. In-flight FFT is live (In-flight) and drives the filter while flying. In the link above there is another link for Advanced Setup, check that out.

If you have an FC that’s not feature limited from low flash enabling the FFT_ENABLE parameter and then refresh will show the extended parameters.

Edit: Well, maybe I should have just answered your question! RPM from ESC telemetry or from Bidirectional protocol does drive the Dynamic Notch Filter center frequency.

The RPM signal from those APD ESCs could be used via a GPIO input set up for RPM (like Heli guys do)
But since you’ve got other ESCs and motors involved (without RPM signals) then you may as well use the FFT or throttle-based harmonic notch filter.
The throttle-based set up is easy but wont be as precise as FFT.

Thanks so much for everyone’s advice!