Profile
Back to NewsBack
GitHub Trending 2 min
Reader Mode
emuflight/EmuConfigurator: Emuflight Configurator is a cross-platform configuration tool for the Emuflight flight control system

emuflight/EmuConfigurator: Emuflight Configurator is a cross-platform configuration tool for the Emuflight flight control system

12 hours ago

Emuflight Configurator

Emuflight Configurator is a crossplatform configuration tool for the Emuflight flight control system.

!Emuflight

Supports quadcopters, hexacopters, octocopters, and fixed-wing aircraft. Configure any supported Emuflight target.

Downloads

Please download our releases at GitHub.

Installation

Download the installer for your platform from the Releases page.

macOS: Right-click the app and select Open to bypass Gatekeeper on first launch.

Support


Development

Requirements

  1. Node.js (LTS recommended)
  2. nvm (Node version manager; optional but recommended for reproducible local Node versions)
  3. Yarn (npm install -g yarn)

Commands

| Command | Description | |---------|-------------| | yarn dev | Start dev mode with devtools | | yarn debug | Alias for yarn dev | | yarn build | Build dist/ only | | yarn make | Create release packages (all platforms) | | yarn make:dev | Alias for yarn make:debug | | yarn make:debug | Create debug packages with the DevTools menu enabled | | yarn package | Build an unpacked application package | | yarn package:debug | Build an unpacked debug package | | yarn commands | Show the available project commands | | yarn lint | Run ESLint | | yarn setup:hooks | Install git pre-commit hook (enforces lint checks) |

Git Hooks

EmuConfigurator enforces code quality with automatic git commit hooks. Before each commit, yarn lint runs automatically — commits with lint errors are blocked (warnings OK).

Setup (first time):

yarn setup:hooks

This works on all platforms (Windows, macOS, Linux).

After setup:

  • Commits are checked automatically
  • Lint errors block commits
  • Run yarn lint -- --fix to auto-fix issues
  • Use git commit --no-verify to bypass (emergency only)
See .github/GIT-HOOKS.md for detailed docs.

Build Output

  • dist/ — assembled app sources
  • out/make/ — packaged applications and installers
Platform packages:
  • macOS: ZIP always, DMG local only (requires macos-alias)
  • Windows: EXE installer
  • Linux: DEB + RPM

macOS DMG Building

CI (GitHub Actions): Builds ZIP only (portable, suitable for distribution)

Local Dev: To build DMG locally (macOS only):

brew install macos-alias   # One-time install
yarn make                   # Builds both .zip and .dmg

DMG is skipped in CI because macos-alias (native module) doesn't cross-compile reliably. ZIP is portable and sufficient for most use cases.

Platform Notes

Linux: Serial Port Access

sudo usermod -aG dialout $USER

Log out and back in

Linux: USB DFU Flashing

Create /etc/udev/rules.d/49-stm32dfu.rules:

SUBSYSTEM=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="df11", \
MODE="0664", GROUP="plugdev"

Then: sudo udevadm control --reload-rules && sudo udevadm trigger


!Emuflight

Chat with me