Here is a custom theme for the Flipper Zero portable multi-tool. This fork is based off of the modified firmware from MuddledBox and includes artwork based on characters belonging to The Pokémon Company. This is intended for personal use only.
To install this firmware on to your Flipper Zero:
- Download the latest firmware release
- Using the QFlipper application, connect your Flipper Zero and select "Install from file"
- Select the downloaded firmware and wait for the installation to finish.
To add the custom idle animations:
- from this Repository, navigate to assets>resources>dolphin and copy the contents of that folder to the "dolphin" folder on the root of the SD card
This is a work in progress, so check back for periodic updates.
Enjoy!
Welcome to Flipper Zero's Firmware repo! Our goal is to create nice and clean code with good documentation, to make it a pleasure for everyone to work with.
Get Latest Firmware from Update Server
Flipper Zero's firmware consists of three components:
- Core2 firmware set - proprietary components by ST: FUS + radio stack. FUS is flashed at factory and you should never update it.
- Core1 Bootloader - controls basic hardware initialization and loads firmware.
- Core1 Firmware - HAL + OS + Drivers + Applications.
All 3 of them must be flashed in order described.
Prerequisites:
- Linux / macOS
- Terminal
- arm-gcc-none-eabi
- openocd
One liner: make flash
Prerequisites:
- Linux / macOS
- Terminal
- STM32_Programmer_CLI (v2.5.0) added to $PATH
One liner: make flash_radio
-
Download latest Firmware
-
Reboot Flipper to Bootloader
- Press and hold
← Left
+↩ Back
for reset - Release
↩ Back
and keep holding← Left
until blue LED lights up - Release
← Left
- Run
dfu-util -D full.dfu -a 0
- Install Docker Engine and Docker Compose
- Prepare the container:
docker-compose up -d
docker-compose exec dev make
Check dist/
for build outputs.
Use flipper-z-{target}-full-{suffix}.dfu
to flash your device.
Make sure you have brew and install all the dependencies:
brew bundle --verbose
toolchain="gcc-arm-none-eabi-10.3-2021.10"
toolchain_package="$toolchain-$(uname -m)-linux"
wget -P /opt "https://developer.arm.com/-/media/Files/downloads/gnu-rm/10.3-2021.10/$toolchain_package.tar.bz2"
tar xjf /opt/$toolchain_package.tar.bz2 -C /opt
rm /opt/$toolchain_package.tar.bz2
for file in /opt/$toolchain/bin/* ; do ln -s "${file}" "/usr/bin/$(basename ${file})" ; done
- openocd (debugging/flashing over SWD)
- heatshrink (compiling image assets)
- clang-format (code formatting)
- dfu-util (flashing over USB DFU)
- protobuf (compiling proto sources)
For example, to install them on Debian, use:
apt update
apt install openocd clang-format-13 dfu-util protobuf-compiler
heatshrink has to be compiled from sources.
make
Check dist/
for build outputs.
Use flipper-z-{target}-full-{suffix}.dfu
to flash your device.
Connect your device via ST-Link and run:
make whole
- Discord: flipp.dev/discord
- Website: flipperzero.one
- Kickstarter page: kickstarter.com
- Forum: forum.flipperzero.one
applications
- Applications and services used in firmwareassets
- Assets used by applications and servicesbootloader
- Bootloader source codecore
- Furi Core: os level primitives and helpersdebug
- Debug tool: GDB-plugins, SVD-file and etcdocker
- Docker image sources (used for firmware build automation)documentation
- Documentation generation system configs and input filesfirmware
- Firmware source codelib
- Our and 3rd party libraries, drivers and etc...make
- Make helpersscripts
- Supplementary scripts and python libraries home
Also pay attention to ReadMe.md
files inside of those directories.