<p>Multirotors are inherently a very noisy environment for sensors like the gyroscope which try to measure the actual motion of the drone. Mechanical vibrations and oscillations are present all over, primarily generated by the motors but also by parts in the frame. These vibrations manifest themselves as fluctuations in the gyroscope values.</p>

<p><a href="https://i.sstatic.net/p7gcm.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/p7gcm.png" alt="enter image description here"></a> (<em><a href="https://i.sstatic.net/p7gcm.png" rel="nofollow noreferrer">cit.</a></em>)</p>

<p>Flight control firmware relies on a clean measure of how quickly the drone is moving in order to function properly, so they employ a number of techniques to "filter" the gyroscope signal and remove as much of the noise as possible. Unclean signals can result in more inflight oscillations and hot motors. Several different kinds of filters are used, often simultaneously, to accomplish this. (<em>e.g. static &amp; dynamic notch filters, low/high pass filters, Kalman filters</em>) The below image depicting the suite of filters employed by Betaflight helps get across how serious an issue this is, although it isn't quite accurate today. (<em>the image was accurate in some 3.x versions</em>)</p>

<p><a href="https://i.sstatic.net/h2xjT.jpg" rel="nofollow noreferrer"><img src="https://i.sstatic.net/h2xjT.jpg" alt="enter image description here"></a></p>

<p>RPM filtering (<em>new in Betaflight 4.1</em>) seeks to remove motor noise, one of the most prolific sources of vibrations on a multirotor. The frequency of motor vibrations are directly correlated with their rotation rate, so the Betaflight RPM filter takes input from the ESCs about motor speeds (<em>using bidirectional DSHOT</em>) and uses it to target a series of dynamic notch filters which selectively remove noise from the gyroscope values occurring at a specific frequency. There's a <a href="https://github.com/betaflight/betaflight/wiki/Bidirectional-DSHOT-and-RPM-Filter" rel="nofollow noreferrer">whole page on the Betaflight wiki about this</a>.</p>

<p>Articles like <a href="https://oscarliang.com/rpm-filter/" rel="nofollow noreferrer">this from Oscar Liang</a> and <a href="https://github.com/betaflight/betaflight/wiki/Bidirectional-DSHOT-and-RPM-Filter" rel="nofollow noreferrer">this on the Betaflight wiki</a>
provide instructions for how to set up and configure the RPM filter, as well as <a href="https://www.youtube.com/watch?v=6a69juWsqyU" rel="nofollow noreferrer">this video from Joshua Bardwell</a> on the topic.</p>

CC BY-SA 4.0
2020-04-19T21:40:46.570Z
2020-04-19T22:07:50.553Z
2020-04-19T22:07:50.553Z
ifconfig
<p>I've seen a lot of buzz lately about the supposed advantages of using the RPM filtering option introduced in Betaflight 4.1. What is it and how does it improve inflight smoothness?</p>

<betaflight><multirotor><quadcopters>
What is RPM filtering in Betaflight?
ifconfig
# What is RPM filtering in Betaflight?

(Asked by: username_0 on 2020-04-19)

I've seen a lot of buzz lately about the supposed advantages of using the RPM filtering option introduced in Betaflight 4.1. What is it and how does it improve inflight smoothness?

**Tags:** betaflight, multirotor, quadcopters


---

## 1 answers

### Answer by username_0 on 2020-04-19. Score: 4 | Accepted answer

Multirotors are inherently a very noisy environment for sensors like the gyroscope which try to measure the actual motion of the drone. Mechanical vibrations and oscillations are present all over, primarily generated by the motors but also by parts in the frame. These vibrations manifest themselves as fluctuations in the gyroscope values.

[![enter image description here](https://i.sstatic.net/p7gcm.png)](https://i.sstatic.net/p7gcm.png) (*[cit.](https://i.sstatic.net/p7gcm.png)*)

Flight control firmware relies on a clean measure of how quickly the drone is moving in order to function properly, so they employ a number of techniques to "filter" the gyroscope signal and remove as much of the noise as possible. Unclean signals can result in more inflight oscillations and hot motors. Several different kinds of filters are used, often simultaneously, to accomplish this. (*e.g. static & dynamic notch filters, low/high pass filters, Kalman filters*) The below image depicting the suite of filters employed by Betaflight helps get across how serious an issue this is, although it isn't quite accurate today. (*the image was accurate in some 3.x versions*)

[![enter image description here](https://i.sstatic.net/h2xjT.jpg)](https://i.sstatic.net/h2xjT.jpg)

RPM filtering (*new in Betaflight 4.1*) seeks to remove motor noise, one of the most prolific sources of vibrations on a multirotor. The frequency of motor vibrations are directly correlated with their rotation rate, so the Betaflight RPM filter takes input from the ESCs about motor speeds (*using bidirectional DSHOT*) and uses it to target a series of dynamic notch filters which selectively remove noise from the gyroscope values occurring at a specific frequency. There's a [whole page on the Betaflight wiki about this](https://github.com/betaflight/betaflight/wiki/Bidirectional-DSHOT-and-RPM-Filter).

Articles like [this from Oscar Liang](https://oscarliang.com/rpm-filter/) and [this on the Betaflight wiki](https://github.com/betaflight/betaflight/wiki/Bidirectional-DSHOT-and-RPM-Filter)
provide instructions for how to set up and configure the RPM filter, as well as [this video from Joshua Bardwell](https://www.youtube.com/watch?v=6a69juWsqyU) on the topic.


---

