joelucid's blog View Details
Posted by joelucid | Aug 03, 2019 @ 05:06 AM | 176,126 Views
The RPM Filter in BetaFlight 4.0 removes any motor noise with surgical precision by positioning very narrow notch filters in real time on the motor frequencies. Notch filters have infinite noise suppression at the center so the RPM filter removes motor noise completely while adding very little delay, truly taking flight performance to a new level. This has become possible by real-time rpm telemetry, introduced recently in BLHeli32.

And now this is possible on BLHeli_S hardware, too! Introducing JESC:

- JESC is a new open source firmware for BLHeli_S ESCs

- Requires an efm8bb21 based BLHeli_S ESC. You can recognize them by their name tag displayed in BLHeli Configurator: if it contains an H in the middle like F-H-30 it's supported.

- Based on BLHeli_S but removes all the legacy protocols and related code for light-weight code base.

- DShot 300 and Dshot 600 supported.

- Adds 48khz PWM mode for extra smooth freestyle flight.

- Super reliable protocol detection due to focus on modern protocols only.

- Adds extensibility with services.

- Optional RPM Telemetry add-on firmware available for small $$ to enable BetaFlight's Rpm Filter and the coming Dynamic Idle feature via dshot signal line rpm telemetry at up to dshot 600 and 8k pid frequency. No additional wiring required.

- New startup tones which indicate whether rpm telemetry is active.

- Configurable using the new jesc-configurator.

The results are smoother and colder motors - even with bent props - and better pid loop performance due to the much reduced filter delay. The ESCs make this possible by sending the current speed of each motor at full pid loop speed to the FC where it's used to tune the filters.

More information at

Flight demos:

Betaflight 4.0, rpm filter, scooter 4", emax 1606, LOS (1 min 43 sec)

Zappy 135, nk1306, 550mah 3s, kk3045x3 (2 min 8 sec)

All coded in 8051 assembler by the guy who implemented the rpm filter