The electronic schematics and firmware of the Flipper Zero project are open source under the
GNU General Public License. However, the device is not considered fully
open-source hardware because complete
printed circuit board layout files are not publicly available, making it more difficult for third parties to reproduce the hardware.
Hardware Flipper Zero's hardware consists of four PCB modules connected by flexible cables. The battery is positioned in the center of the device between three of the PCBs. •
Main PCB (motherboard)contains core components, including the main processor (STM32WB55), GPIO breakout pins, LCD, Sub-GHz chip and its antenna, Bluetooth antenna, microSD card slot, battery controller, USB Type-C port, and membrane switches for the D-pad. All additional PCBs connect to the main PCB via flexible cables. •
Infrared and iButton PCBa small board equipped with an infrared receiver (TSOP-75338) and three infrared LEDs for transmitting infrared signals. Includes three pogo pins for iButton (1-Wire) tags and a piezo buzzer (BCE-MX8530A) for audio feedback. •
NFC PCBcontains the NFC chip (STM ST25R3916) along with analog circuitry for 125 kHz RFID. •
Dual-Band RFID Antenna PCBfeatures two passive coil antennas: one for 13.56 MHz NFC communication and another for 125 kHz RFID systems.
Microcontroller (MCU) Flipper Zero is based on a dual-core
ARM architecture
STM32WB55
microcontroller, which has 256 KB of RAM and 1 MB of Flash storage. The first core is a 64 MHz
Cortex-M4 which runs the main firmware. The second core is a 32 MHz
Cortex-M0 which runs
STMicroelectronics proprietary firmware that implements the
Bluetooth Low Energy protocol. Secret keys stored in the Secure Enclave of
STM32WB55 are used to decrypt cryptographic keys on the fly, which are then applied to decode Sub-GHz protocols. This mechanism allows the device to handle encrypted communication for Sub-GHz protocols. However, the encryption used is not entirely secure and primarily serves as a form of obfuscation rather than robust protection. Its purpose is to make reverse engineering more challenging, but it does not provide absolute security.
Sub-GHz radio For radio transmitting and receiving in the 300–900 MHz radio frequency range, a
Texas Instruments CC1101 chip is used, which supports amplitude-shift keying (
ASK) and frequency-shift keying (
FSK) modulations. Unlike
software-defined radio, the CC1101 chip cannot capture raw radio signals. This limitation requires the user to pre-configure the modulation parameters before receiving a radio signal, otherwise the signal will be received incorrectly.
Infrared The infrared transceiver in Flipper Zero consists of a digital receiver and an LED circuit. The receiver, based on the TSOP-75338 module, decodes incoming infrared signals. Infrared transmission is managed by three LEDs directly connected to the MCU, which controls the signal output.
NFC and 125 kHz RFID The NFC subsystem is based on the STM ST25R3916 chip, which is responsible for reading and emulating high-frequency cards. The 125 kHz low-frequency RFID functionality in Flipper Zero is implemented primarily through software running on the MCU, without a dedicated RFID chip. It also supports reading RFID tags in the 110–140 kHz range, albeit with a reduced reading distance.
Hardware expansion In February 2024, a video game module was released for the Flipper Zero by its makers. The device allows the Flipper to be used as a game controller or connected to a TV and is based around the
Raspberry Pi Pico. The system uses
multitasking in combination with an
event-driven architecture to organize the interaction of applications and services executed in a single address space and communicating through a system of
queues and events. The system can be executed from both random-access memory (RAM) and read-only memory (ROM). Execution from RAM is used to deliver over-the-air (
OTA) firmware updates. The firmware consists of the following components: •
FuriCore – provides an
API for interaction with the scheduler and multithreading. FuriCore abstracts and extends the functionality of the FreeRTOS scheduler and adds additional system primitives. •
FuriHal – provides an API for interaction with hardware. •
Services and applications – the main functionality of the device. Sub-GHz, Infrared, RFID, NFC, etc are applications for user interaction. Graphical user interface (GUI), command-line interface (CLI), Notification, Storage, etc are additional APIs for applications development. • A set of libraries and drivers – covers various communication protocols, device drivers, file system drivers, and developer tools. User and system data is stored in built-in flash memory, which is based on the LittleFS library. Interaction with the file system on the SD card is implemented using the
FatFs library. The build system is based on the
SCons tool with additional tooling written in
Python. For compilation, the system uses its own open toolchain based on
GNU Compiler Collection. == Applications ==