Skip to content

Repository files navigation

FlipperZero Manager

Deutsch · English

An app for the Flipper Zero and its Wi-Fi module – for macOS, Windows and Linux.

Plug in the Flipper and the app shows what it is running, mirrors its screen, keeps the firmware up to date and puts FlipperHTTP or Marauder – or both side by side – on the Wi-Fi module. No extra software and no qFlipper needed.

Remote control with the Flipper's live screen

The app speaks English and German – it follows the system language and can be switched in the sidebar.

What the app does

  • Overview – device, firmware, battery, SD card and internal storage; “find Flipper” (beeps and flashes) and reboot.
  • Remote control – live screen, D-pad (also via keyboard), screenshots.
  • Firmware updates – Official, Unleashed (all three variants), Momentum or RogueMaster, from the internet or from a local .tgz package. The app copies the package to the SD card and starts the Flipper's updater, just like qFlipper does.
  • Files – browse the SD card and internal storage, upload and download.
  • Wi-Fi module – flash FlipperHTTP or Marauder onto the official Wi-Fi Devboard (ESP32-S2) or other ESP32 boards, always the latest release.
Overview Firmware updates
Overview Firmware updates
Files Wi-Fi module
Files Wi-Fi module

Both Wi-Fi firmwares at once

FlipperHTTP and Marauder use the same flash layout with two app slots, and both fit. Choose “Beide” (both) and the app writes one of them to slot A and the other to slot B. On the Flipper, the ESP Flasher app (Apps ▸ GPIO, included in Unleashed and Momentum) switches between them in seconds without reflashing:

  1. Open Apps ▸ GPIO ▸ ESP Flasher.
  2. On the module, hold BOOT, press RESET briefly, release BOOT.
  3. Choose “Switch to Firmware A” or “Switch to Firmware B”.
  4. Press RESET – the chosen firmware starts.

Update the firmwares with this app, not with Marauder's own update function: it writes to the other slot and would overwrite the second firmware.

Requirements

  • macOS 12 or later (Apple silicon or Intel), Windows 10/11 (x64) or Linux (x64)
  • Flipper Zero connected by a USB data cable; qFlipper and terminal programs must not hold the port at the same time
  • For the Wi-Fi module: Python 3 – macOS: brew install python or the Xcode command line tools; Windows: python.org (tick “Add python.exe to PATH”); Linux: python3 with venv (Debian/Ubuntu: sudo apt install python3-venv). The app sets up Espressif's esptool in its own environment the first time it is needed.

Installation

Download from Releases:

  • macOS: FlipperZeroManager-<version>.dmg – open it and drag the app to Applications. Signed with Developer ID and notarized by Apple.
  • Windows: FlipperZeroManager-<version>-windows-x64.zip – unpack and start FlipperZeroManager.exe. The app is not code-signed, so SmartScreen may ask once (“More info” ▸ “Run anyway”).
  • Linux (Debian, Ubuntu, Mint …): flipperzero-manager_<version>_amd64.deb – double-click or sudo apt install ./flipperzero-manager_<version>_amd64.deb. Installs the menu entry and a udev rule, so the Flipper and the Wi-Fi module work without root. Unplug and replug the Flipper once afterwards.
  • Other Linux distributions: FlipperZeroManager-<version>-linux-x64.tar.gz – unpack and run ./install.sh --udev (installs for your user).

From source (Flutter 3.47 or later):

flutter pub get
flutter run -d macos          # or: -d windows, -d linux
flutter build linux --release # or: windows, macos
  • Linux build dependencies: clang cmake ninja-build pkg-config libgtk-3-dev.
  • macOS: the serial plugin builds libserialport via CocoaPods – brew install cocoapods automake libtool. Scripts/run.sh builds, installs to ~/Applications and launches.

Tests

flutter test                                              # unit tests, no device needed
flutter test integration_test/device_test.dart -d macos   # protocol, with a Flipper attached
flutter test integration_test/app_test.dart -d macos      # whole UI, with a Flipper attached

Every build can also check itself against an attached Flipper, without the Flutter SDK: FlipperZeroManager --self-test result.txt (exit code 0 = all steps passed).

The unit tests run the RPC layer against a simulated Flipper. The device tests only create files under /ext/fzm-test and remove them again; quit the app first so the serial port is free.

Release

Scripts/release.sh --dry-run   # macOS: tests, build, Developer ID signature, DMG – without Apple
Scripts/release.sh             # plus notarization and stapling; uploads nothing

GitHub Actions builds the Windows and Linux packages and attaches them to the release for a v* tag. The macOS script needs a “Developer ID Application” certificate and a notarytool profile in the keychain (name in NOTARY_PROFILE).

Flashing the Wi-Fi module

  1. Unplug the module from the Flipper.
  2. Hold the BOOT button, connect the module to the Mac with a USB data cable, release after about two seconds (the LED stays dark).
  3. In the app, open “WLAN-Modul”, pick the firmware and click “Aufspielen”.
  4. Press RESET and put the module back on the Flipper.

How it works

The app talks to the Flipper over its USB serial port using the Flipper's RPC protocol (protobuf, encoded by hand; serial access via libserialport). Firmware lists come from the official update server's directory.json and from GitHub releases; downloads are checked with SHA-256 where the source provides it.

License

GPL-3.0-or-later – see LICENSE.

Flipper Zero is a trademark of Flipper Devices Inc. This project is not affiliated with or endorsed by Flipper Devices.

Releases

Packages

Contributors

Languages