2022-03-23 23:30:34 +03:00
# Flipper Zero Unleashed Firmware
2020-09-17 10:43:04 +03:00
2022-03-23 23:30:17 +03:00
< a href = "https://ibb.co/wQ12PVc" > < img src = "https://i.ibb.co/wQ12PVc/fzCUSTOM.png" alt = "fzCUSTOM" border = "0" > < / a >
2020-08-01 22:54:58 +03:00
2022-05-27 22:59:18 +03:00
Welcome to Flipper Zero's Custom Firmware repo!
Our goal is to make any features possible in this device without any limitations!
2021-01-29 14:18:10 +03:00
2022-06-21 05:50:34 +03:00
Please help us implement emulation for all dynamic (rolling codes) protocols and brute-force app!
2022-06-02 02:15:39 +03:00
< br >
< br >
2021-01-29 14:18:10 +03:00
2022-05-27 22:59:18 +03:00
### This software is for experimental purposes only and is not meant for any illegal activity/purposes. <br> We do not condone illegal activity and strongly encourage keeping transmissions to legal/valid uses allowed by law. <br> Also this software is made without any support from Flipper Devices and in no way related to official devs.
### Please use for experimental purposes only!
2021-01-29 14:18:10 +03:00
2022-05-27 22:59:18 +03:00
< br >
< br >
Our Discord Community:
< br >
< a href = "https://discord.gg/58D6E8BtTU" > < img src = "https://discordapp.com/api/guilds/937479784148115456/widget.png?style=banner4" alt = "Unofficial Discord Community" > < / a >
2021-01-29 14:18:10 +03:00
2022-06-02 02:15:39 +03:00
< br >
< br >
< br >
2021-01-29 14:18:10 +03:00
2022-05-27 22:59:18 +03:00
# Update firmware
2021-01-29 14:18:10 +03:00
2022-06-02 19:12:27 +03:00
## [Get Latest Firmware from GitHub Releases](https://github.com/Eng1n33r/flipperzero-firmware/releases)
2022-06-02 02:15:39 +03:00
< br >
< br >
2022-06-04 03:18:43 +03:00
### **Update to the latest official firmware before proceeding**
< br >
< br >
2022-06-02 02:15:39 +03:00
## With offline update on flipper
2021-01-29 14:18:10 +03:00
2022-06-02 02:15:39 +03:00
### **Replace (CURRENT VERSION) with version that you downloaded from releases**
2022-05-27 22:59:18 +03:00
- Unpack `flipper-z-f7-update-(CURRENT VERSION).tgz` (or `.zip` ) into any free folder on your PC or smartphone
2022-06-02 02:15:39 +03:00
- You should find folder named `f7-update-(CURRENT VERSION)` that contains files like `update.fuf` , `resources.tar` and etc..
- Remove microSD card from flipper and insert it into PC or smartphone (you can skip this step and upload all files using qFlipper)
- Create new folder `update` on the root of the microSD card and move folder that you previously extracted from archive - `f7-update-(CURRENT VERSION)` into `update` on microSD card
- So result should look like `update/f7-update-(CURRENT VERSION)/` with all files in this folder on microSD card, remember iOS default Files app doesnt show all files properly (3 instead of 5), so you need to use another app for unpacking or use PC or Android
- Verify that all files are present on your microSD card:
* `update/f7-update-(CURRENT VERSION)/flipper-z-f7-full-(CURRENT VERSION).dfu`
* `update/f7-update-(CURRENT VERSION)/flipper-z-f7-updater-(CURRENT VERSION).bin`
* `update/f7-update-(CURRENT VERSION)/resources.tar`
* `update/f7-update-(CURRENT VERSION)/stm32wb5x_BLE_Stack_light_fw.bin`
* `update/f7-update-(CURRENT VERSION)/update.fuf`
2021-01-29 14:18:10 +03:00
2022-06-02 02:15:39 +03:00
- After all you need to insert microSD card back into flipper, navigate into filebrowser, open this file
2022-05-27 22:59:18 +03:00
`update/f7-update-(CURRENT VERSION)/update.fuf`
2022-06-02 02:15:39 +03:00
- Update will start, wait for all stages, and when flipper started after update, you can upload any custom [IR libs ](https://github.com/logickworkshop/Flipper-IRDB ), and other stuff using qFlipper or directly into microSD card
< br >
< br >
## With qFlipper
### **Replace (CURRENT VERSION) with version that you downloaded from releases**
- Connect your device and select `Update from file`
then select ** `flipper-z-f7-full-(CURRENT VERSION).dfu` **
- And wait, if all flashed successfully - you can manually upload IR libs and other stuff to sd card
2021-01-29 14:18:10 +03:00
2022-06-26 20:57:29 +03:00
- If you doing install for first time or migrating from official fw, unpack 2 folders from archive `sd-card-(CURRENT VERSION).zip` onto your microSD card
2022-06-02 02:15:39 +03:00
< br >
< br >
2021-01-29 14:18:10 +03:00
## With USB DFU
2020-10-23 11:42:53 +03:00
2022-05-23 21:47:24 +03:00
1. Download latest [Firmware ](https://github.com/Eng1n33r/flipperzero-firmware/releases )
2020-10-23 11:42:53 +03:00
2021-12-05 14:47:02 +03:00
2. Reboot Flipper to Bootloader
2020-11-04 12:49:35 +03:00
- Press and hold `← Left` + `↩ Back` for reset
2021-10-21 15:52:06 +03:00
- Release `↩ Back` and keep holding `← Left` until blue LED lights up
- Release `← Left`
2020-10-23 11:42:53 +03:00
2022-06-02 02:15:39 +03:00
### **Replace (CURRENT VERSION) with version that you downloaded from releases**
2022-05-27 22:59:18 +03:00
3. Run `dfu-util -D flipper-z-f7-full-(CURRENT VERSION).dfu -a 0`
2020-10-23 11:42:53 +03:00
2022-06-26 20:57:29 +03:00
4. If you doing install for first time or migrating from official fw, unpack 2 folders from archive `sd-card-(CURRENT VERSION).zip` to your microSD card
2022-06-04 03:18:43 +03:00
< br >
< br >
# After install:
2022-06-26 20:57:29 +03:00
- ### If you installed using .dfu - unpack 2 folders from archive `sd-card-(CURRENT VERSION).zip` to your microSD card
2022-06-04 03:18:43 +03:00
< br >
- ## [How To: Configure UniversalRF Remix App ](https://github.com/Eng1n33r/flipperzero-firmware/blob/dev/documentation/UniRFRemix.md )
2022-06-02 02:15:39 +03:00
< br >
< br >
# Where I can find IR, SubGhz, ... DBs, and other stuff?
## [Awesome Flipper Zero - Github](https://github.com/djsime1/awesome-flipperzero)
< br >
< br >
2022-05-27 22:59:18 +03:00
# How to Build by yourself:
2020-08-18 20:18:09 +03:00
2022-05-27 22:59:18 +03:00
## Clone the Repository
You should clone with
```shell
$ git clone --recursive https://github.com/Eng1n33r/flipperzero-firmware.git
```
## Build with Docker
### Prerequisites
2021-08-16 23:22:30 +03:00
1. Install [Docker Engine and Docker Compose ](https://www.docker.com/get-started )
2021-11-18 11:46:47 +03:00
2. Prepare the container:
2021-12-05 14:47:02 +03:00
```sh
docker-compose up -d
```
2021-08-16 23:22:30 +03:00
2022-05-27 22:59:18 +03:00
### Compile everything for development
2021-10-21 15:24:34 +03:00
```sh
2022-06-26 20:57:29 +03:00
docker-compose exec dev ./fbt
2021-10-21 15:24:34 +03:00
```
2022-05-27 22:59:18 +03:00
### Compile everything for release + get updater package to update from microSD card
2021-08-16 23:22:30 +03:00
```sh
2022-06-26 20:57:29 +03:00
docker-compose exec dev ./fbt --with-updater COMPACT=1 DEBUG=0 updater_package
2021-08-16 23:22:30 +03:00
```
2022-05-27 22:59:18 +03:00
Check `dist/` for build outputs.
2021-08-16 23:22:30 +03:00
2022-05-27 22:59:18 +03:00
Use ** `flipper-z-{target}-full-{suffix}.dfu` ** to flash your device.
2021-08-16 23:22:30 +03:00
2022-05-27 22:59:18 +03:00
If compilation fails, make sure all submodules are all initialized. Either clone with `--recursive` or use `git submodule update --init --recursive` .
2021-08-16 23:22:30 +03:00
2022-06-14 02:45:06 +03:00
# Build on macOS
2022-06-26 20:57:29 +03:00
Check out `documentation/fbt.md` for details on building and flashing firmware.
2022-06-14 02:45:06 +03:00
## macOS Prerequisites
Make sure you have [brew ](https://brew.sh ) and install all the dependencies:
```sh
brew bundle --verbose
```
2022-06-26 20:57:29 +03:00
Install Python packages required by assets build scripts: `pip3 install -r scripts/requirements.txt`
2022-06-14 02:45:06 +03:00
### Compile everything for development
```sh
2022-06-26 20:57:29 +03:00
./fbt
2022-06-14 02:45:06 +03:00
```
### Compile everything for release + get updater package to update from microSD card
```sh
2022-06-26 20:57:29 +03:00
./fbt --with-updater COMPACT=1 DEBUG=0 updater_package
2022-06-14 02:45:06 +03:00
```
Check `dist/` for build outputs.
Use ** `flipper-z-{target}-full-{suffix}.dfu` ** to flash your device.
2022-06-04 03:18:43 +03:00
# Apps included
- [Clock/Stopwatch (By CompaqDisc, Stopwatch & Sound Alert By RogueMaster) ](https://github.com/RogueMaster/flipperzero-firmware-wPlugins/blob/unleashed/applications/clock_app/clock_app.c )
- [UniversalRF Remix (By ESurge)(Original UniversalRF By jimilinuxguy) ](https://github.com/ESurge/flipperzero-firmware-unirfremix )
- [Tetris (By jeffplang) ](https://github.com/jeffplang/flipperzero-firmware/tree/tetris_game/applications/tetris_game )
2022-06-22 19:08:34 +03:00
- [Spectrum Analyzer (By jolcese) ](https://github.com/jolcese/flipperzero-firmware/tree/spectrum/applications/spectrum_analyzer ) - [Ultra Narrow mode & scan channels non-consecutively ](https://github.com/theY4Kman/flipperzero-firmware/commits?author=theY4Kman )
2022-06-21 05:50:34 +03:00
- [Arkanoid (By gotnull) ](https://github.com/gotnull/flipperzero-firmware-wPlugins )
- [Tic Tac Toe (By gotnull) ](https://github.com/gotnull/flipperzero-firmware-wPlugins )
2022-06-04 03:18:43 +03:00
2020-08-15 09:59:22 +03:00
# Links
2022-01-05 19:10:18 +03:00
2022-05-27 22:59:18 +03:00
* Unofficial Discord: [discord.gg/58D6E8BtTU ](https://discord.gg/58D6E8BtTU )
2022-06-02 02:15:39 +03:00
* Docs by atmanos: [https://flipper.atmanos.com/docs ](https://flipper.atmanos.com/docs/your-first-program/intro )
2022-05-27 22:59:18 +03:00
2022-06-02 02:15:39 +03:00
* Official Docs: [http://docs.flipperzero.one ](http://docs.flipperzero.one )
2022-05-27 22:59:18 +03:00
* Official Forum: [forum.flipperzero.one ](https://forum.flipperzero.one/ )
2021-08-08 21:03:25 +03:00
2022-01-10 22:46:20 +03:00
# Project structure
- `applications` - Applications and services used in firmware
- `assets` - Assets used by applications and services
- `core` - Furi Core: os level primitives and helpers
- `debug` - Debug tool: GDB-plugins, SVD-file and etc
- `docker` - Docker image sources (used for firmware build automation)
- `documentation` - Documentation generation system configs and input files
- `firmware` - Firmware source code
- `lib` - Our and 3rd party libraries, drivers and etc...
2022-06-26 20:57:29 +03:00
- `site_scons` - Build helpers
2022-01-10 22:46:20 +03:00
- `scripts` - Supplementary scripts and python libraries home
Also pay attention to `ReadMe.md` files inside of those directories.