Skip to content

Welcome to the Flipper Community Wiki

This site contains the unofficial community driven knowledge base for the Flipper Zero.

Ready to continue onwards?

Also check out the cool Flipper Discord Community Server!

This Discord Flipper Zero focused server is community first and community-led by many of the long time people that were present in the official server, with more freedom to teach and interact with the community! Want to join in the fun? Click the link!

https://discord.gg/vUVK5naagd

Looking to contribute?

See our Contributing page!

Note: The content of this wiki is created and maintained by the community and does not represent the official views, statements, or endorsements of Flipper Devices. All Flipper artwork is attributed to Flipper Devices unless otherwise stated. see the about page for more info

Latest Updates:

Overview
Flipper Zero development is done via two primary tools: - FBT: This tool is the complete build tool, and it included when doing a full clone of the flipper zero firmware repository. This tool allows for the building of any component (firmware, app, or animation) for the Flipper Zero. - UFBT: Considered the 'lite' version of FBT, this tool is focused on external app building only. Both of these tool currently provide a command in their respective documentation to get a Visual Studio Code environment up and running. Development Documentation The official documentation for development can be found here. App development resources can also be found here within the same site. Work is ongoing to continue to add more information to the official development docs, and the source code is still currently the best way to study how things work. As linked in the official development docs, a few sample applications can be found here. Useful Links
Basics of Building Firmware & Apps
This guide aims to introduce one to building and installing a release version of the firmware, as well as how to build one application from source using the Flipper Build Tool. Prerequisites This guide assumes you have the following: - Knowledge of how to navigate files and folders using cd in the command line - A working install of Git - About 2 gigabytes of free space - Access to the Flipper Zero Firmware github page Building Your First Firmware 1. Create a folder on your PC where you will store the firmware - Ideally the path to this folder should have no spaces in the name to avoid any issues (I.E. C:\Users\yourname\Desktop\myfirmware\)
Arcade Cards
Arcade Data Cards You should not be using your Flipper Zero to emulate your arcade data card. The five main arcade data cards currently in use are: The Flipper Zero includes the MFC Sega Aime and Bandai Namco Passport access keys in the system dictionary as of OFW 0.98.2.
The Flipper Zero expanded its FeliCa emulation support as of OFW 0.103.1. The Sega Aime parser reveals the card's access code.
The Bandai Namco Passport parser reveals the card's access code as of OFW 1.4.2 provided it is correctly encoded in Sector 0 Block 2. The latter four companies have FeliCa card variants endorsed with the Amusement IC Card [AIC] logo. Arcade Data Card Emulation Compatibility Arcade Data Card Emulation Compatibility Notes - If FeliCa emulation does not work, you firstly need to: 1. Back up your microSD card;
Public Transport
The below information is for educational purposes only, and is NOT designed to facilitate fare evasion. Resources - FeliCa Tool - MetroDroid - Metroflip - NFC TagInfo by NXP: Google Play - NFC TagInfo by NXP: App Store - PTDex FeliCa If you have either a HKG Octopus Card or a Japan Transit IC Card using FeliCa, then you can use either FeliCa Tool, MetroDroid, or the Android version of NFC TagInfo by NXP to view some information relating to the card.
Beginner's Guide to Protobuf via python
The Flipper Zero supports receiving commands via protobuf encoded communications via both USB and GPIO. Protobuf communication allows you to do a number of different items via external controls such as: - press buttons - read/write files - draw on the screen - set GPIO pin states and many other functions. While very flexible in their abilities to send/receive varying forms of data, they are also a bit more complex to handle due to the encoding step one needs to complete beforehand so that you can use these commands in your Flipper Zero applications. In order to do this, the official method is to use what is referred to as a protobuf compiler to do this and generate what you need. There are multiple protobuf compilers that will generate these encodings (The official protobuf toolset, nanopb, etc). They can also be encoded by hand if one studies the structure of the data encoding. This guide will assume low/no knowledge of protobufs and data structures and will try to aim for the path of least resistance. Python: Press a key via protobuf For this tutorial, we will set up a basic python environment to handle protobuf and simply send a short press of the UP key on the Flipper Zero to demonstrate how to use protobufs. Prereqs