github.com/emuflight/EmuFlight ↗
EmuFlight is flight controller software (firmware) used to fly multi-rotor craft.
Open this visualization on its own page →
Contributors
442
Lines of Code
52,305
From
2012-02-16
To
2022-04-22
About emuflight/EmuFlight
EmuFlight is open-source flight controller firmware designed for multi-rotor aircraft like quadcopters and miniquads. It evolved from earlier projects like Betaflight and Cleanflight, but distinguishes itself through emphasis on flight performance, innovative filtering techniques, and cutting-edge features. The firmware runs on STM32 F4 and F7 processors found in various flight controllers, including HelioRC Spring boards.
The project includes numerous advanced flight tuning features such as IMUF Kalman-based filtering, feathered PIDs, error-based boost systems for control loop improvement, dynamic gyro filtering, Smith-Predictor technology, and multiple filter options including PT(n) for lowpass filtering and RC smoothing. Additional capabilities encompass per-axis lowpass filters, throttle and stick point attenuation, rate dynamics for stick feel customization, axis lock, thrust linearization, and motor output optimization. The firmware supports DShot motor protocol with extended levels at 1200, 2400, and 4800 hertz, and includes an on-screen display configuration system.
EmuFlight is configured through the EmuFlight-Configurator, a cross-platform GUI tool available for Windows, macOS, and Linux. The project welcomes community contributions through its GitHub repository and Discord server, with developers encouraged to follow provided development guidelines and coding standards. A safety warning notes that DJI components may bypass certain configurator safety checks, requiring careful precautions when working with powered systems.