-
Notifications
You must be signed in to change notification settings - Fork 67
Install Firmware and Apps
I just created this page. I will update and create video for Feb 17th, 2024.
This page is about how you can build applications for your firmware. These applications are called FAP
files, which stands for Flipper Application Package
. The FAP file has a required API version, which is why you need it to match the API of the firmware you are running on your Flipper. You can read more about FAP files in the official documentation.
There are many techniques to accomplish the various tasks. At the beginning of this document we will focus on using a command-line interface, but you can also accomplish these tasks using Visual Studio Code (which allows you to pick commands to run from a nice user interface, instead of memorizing command-line parameters). There are also multiple tools, such as uFBT and FBT. At the beginning of this document, we will use the FBT instead of uFBT tool.
- Required: We use the Git command (and the Git tools with VS Code). This is pre-installed in Kali. If it is not already installed for your OS, you can download from Git tools download
- Required for uFBT only: Python 3.8 or newer is needed for installing uFBT. You can install from Python download
- Optional: Visual Studio Code is nice editor. You can install from VS Code download
We need the SDK API version to match what we are running on our Flipper Zero. The easiest way to accomplish this is to recursively clone the firmware we are running on the Flipper. Many people choose to run a custom firmware instead of the official firmware. This will also update our Flipper firmware, so you can follow this step to switch to a different firmware.
- In Kali, this is called
Terminal Emulator
- In Windows, this is called
Command Prompt
.
- In Kali:
- First time:
mkdir repo
to make a repo folder. - Every time:
cd repo
- First time:
- In Windows:
- First time:
mkdir c:\repo
to make a repo folder. - Every time:
cd c:\repo
- First time:
Be sure that you installed git tools
listed in the prerequisites. Adding a --jobs 8
switch may make it run faster.
- Official firmware:
git clone --recursive https://github.com/flipperdevices/flipperzero-firmware.git
cd flipperzero-firmware
- RogueMaster firmware:
git clone --recursive https://github.com/RogueMaster/flipperzero-firmware-wPlugins.git roguemaster-firmware
cd roguemaster-firmware
- Unleashed firmware:
git clone --recursive https://github.com/DarkFlippers/unleashed-firmware
cd unleashed-firmware
- Xtreme firmware:
git clone --recursive https://github.com/Flipper-XFW/Xtreme-Firmware.git xtreme-firmware
cd xtreme-firmware
- Official:
- Release branch: (Stable release)
git checkout release
- Release candidate branch: (Release being tested)
git checkout release-candidate
- Dev branch: (Latest version, may be unstable)
git checkout dev
- Release branch: (Stable release)
- RogueMaster: 420 (Latest version)
git checkout 420
- Unleashed:
- Release branch: (Stable release)
git checkout release
- Dev branch: (Latest, may be unstable)
git checkout dev
- Release branch: (Stable release)
- Xtreme
- Main branch: (Stable release)
git checkout main
- Dev branch: (Latest, may be unstable)
git checkout dev
- Main branch: (Stable release)
The following command will update the .vscode
folder so that it has all of the required files for VS Code. If you have VS Code installed on your computer, I recommend doing this step, so that later if you choose to use VS Code you will already have the Flipper support files.
- Kali:
./fbt vscode_dist
- Windows:
fbt vscode_dist
It's always possible that you could lose data, so be sure to backup any files from the SD card that you care about (like captured subghz files, nfc files, etc.) Some people do Settings/Storage/Unmount SD Card
before ejecting the SD card, then they put it computer to copy the files. Once they are done, they put the SD card back into the Flipper Zero. NOTE: You can also use the mobile app to backup files or the qFlipper app to backup files, you can install from this Flipper Zero download page.
Make sure your Flipper Zero is not running any applications (press Back putting until you are at the desktop). Make sure your Flipper Zero is connected to your computer.
- Kali:
./fbt COMPACT=1 DEBUG=0 FORCE=1 flash_usb_full
- Windows:
fbt COMPACT=1 DEBUG=0 FORCE=1 flash_usb_full
Congratulations -- your Flipper is now running new firmware that you built!
Some people have pre-built FAP files that you can install on your Flipper. The problem is often the SDK API version of the FAP does not match what you are running so the application will not work correctly. I recommend instead that you download the source code and build your own FAP files, which you know will match the firmware on your Flipper Zero.
Many people use flipc.org but in Jan/Feb of 2024 it seems to be Under maintenance
. We need to use a different way to discover apps. Perhaps Google search for Flipper applications, or maybe someone posted a link to a project on a social network. I find that RogueMaster firmware has a large majority of the applications, so I use them as a resource (even when I'm running a different firmware). RogueMaster Readme file has links for many of the Games and Plugins. Those links will take you to the projects, but you may need to hunt around until you find the actual project. Xtreme firmware also has many applications, but they typically have fewer applications than RogueMaster.
The project folder you are looking for will have a text file named application.fam
. If you look in that file, you will see a name=
entry with the name of the application and a fap_category=
with the name of the category where the application will be installed.
Most applications will run on any firmware, but it's possible that some applications will call custom APIs that are only available on one or more custom firmware. Some applications are not getting updated by their owner, but often RogueMaster will keep updating the application so that it still works. For example, the appid
entry in the application.fam
file must be lowercase letters, numbers and underscores (and RogueMaster will fix the old application.fam file so that it works). For this reason, I recommend looking at RogueMaster/applications/external since these files have the modifications. Some changes may be optimized for RogueMaster and not run on other firmwrae. If the application doesn't work, I see if it is available in Xtreme and try that version with my firmware.