||2 weeks ago|
|.github||6 months ago|
|application||2 weeks ago|
|backend||2 weeks ago|
|cli||2 weeks ago|
|contrib||1 year ago|
|dfu||2 months ago|
|docker||6 months ago|
|installer-assets||6 months ago|
|plugins||2 months ago|
|.gitignore||7 months ago|
|.gitmodules||6 months ago|
|README.md||3 months ago|
|build_linux.sh||6 months ago|
|build_mac.sh||2 months ago|
|build_windows.bat||3 weeks ago|
|installer_windows.nsi||2 months ago|
|qFlipper.pro||1 year ago|
|qflipper_common.pri||7 months ago|
|setup_rules.sh||8 months ago|
Graphical desktop application for updating Flipper Zero firmware via PC
qFlipper is completely open source and based on Qt framework. Runs on Windows, macOS, Linux.
Download official qFlipper builds here: update.flipperzero.one
- Update Flipper's firmware and supplemental data with a press of one button
- Repair a broken firmware installation
- Stream Flipper's display and control it remotely
- Install firmware from a
- Backup and restore settings, progress and pairing data
- Automatic self-update feature
- Command line interface
Build from sources
Make sure to clone the project together with submodules:
git clone https://github.com/flipperdevices/qFlipper.git --recursive
- MS Visual Studio 2019 or newer
- Qt5 (MSVC build) >= 5.15.0 or Qt6 >= 6.3.0
- NSIS (to generate the installer)
build_windows.bat to adjust to your build environment and then run:
Note: STM32 Bootloader driver is not provided in this repository.
Docker build (AppImage, official)
Setup dev container by running:
docker-compose up -d
Compile qFlipper by running:
docker-compose exec dev ./build_linux.sh
- Qt5 >= 5.15.0 or Qt6 >= 6.3.0
- libusb >= 1.0.16
- zlib >= 1.2.0
Make sure to install the following Qt modules (the exact package names might differ slightly depending on your Linux distribution):
base, tools, serialport, declarative, wayland, [quickcontrols2, graphicaleffects] (Qt5 only), qt5-compat (Qt6 only)
mkdir build && cd build qmake ../qFlipper.pro PREFIX=/path/to/install/dir -spec linux-g++ CONFIG+=qtquickcompiler && make qmake_all && make && make install
make installing to the system prefix is not recommended. Instead, use this method for building distro-specific packages.
In this case, it is possible to disable the built-in application update feature by passing
DEFINES+=DISABLE_APPLICATION_UPDATES to the
- Xcode or command line tools
- Qt6 6.3.1 static universal from Flipper brew tap
- libusb 1.0.24 universal from Flipper brew tap
- dmgbuild >= 1.5.2
If you want to sign binaries, set
SIGNING_KEY environment variable:
export SIGNING_KEY="Your Developer Key ID"
Building, signing and creating package:
Resulting image can be found in:
or just launch the file above from your favourite file manager. You will likely need to set up udev rules in order to use qFlipper as a normal user:
./qFlipper-x86_64.AppImage rules install [/optional/path/to/rules/dir]
Package managers support
See contrib for available options.
application- The main graphical application, written mostly in QML.
cli- The command line interface, provides nearly all main application's functionality.
backend- The backend library, written in C++. Takes care of most of the logic.
dfu- Low level library for accessing USB and DFU devices.
plugins- Protobuf-based communication protocol support.
3rdparty- Third-party libraries.
contrib- Contributed packages and scripts.
driver-tool- DFU driver installation tool for Windows (based on
docker- Docker configuration files.
installer-assets- Supplementary data for deployment.
qFlipper is a project under active development. Please report any encountered bugs to make it better!
The (mostly) complete guide is located here.
- Sometimes Flipper's serial port doesn't get recognised by the OS, which leads to firmware update errors. This is a firmware issue.
- On some systems, there is noticeable flicker during opening, closing or resizing of the log area.
- Release source archives are automatically generated by Github and are unsuitable for building as they do not contain submodules.