Исходный код прошивки Flipper Zero полностью открыт и опубликован на GitHub в репозитории flipperdevices/flipperzero-firmware — это первое место, куда стоит идти, если нужно изучить устройство системы, исправить ошибку или написать собственное приложение. Проект распространяется под лицензией GPLv3, что позволяет свободно изучать, модифицировать и распространять код с сохранением условий лицензии.
Прошивка написана преимущественно на языке C и построена на базе операционной системы реального времени FreeRTOS. Открытость кода — одна из ключевых особенностей платформы: сообщество разработчиков создаёт альтернативные сборки, добавляет поддержку новых протоколов и публикует сторонние приложения.
В этой статье разберём, где находится репозиторий, как устроена структура проекта, какие инструменты нужны для сборки и как начать писать собственные приложения для устройства.
Где найти исходный код Flipper Zero
Официальный репозиторий размещён на GitHub под организацией flipperdevices. Основной репозиторий называется flipperzero-firmware — именно там живёт код прошивки, системные сервисы и встроенные приложения. Рядом находятся сопутствующие проекты: загрузчик, инструменты и документация.
Клонировать репозиторий можно стандартной командой git. Рекомендуется скачивать репозиторий вместе с подмодулями, иначе сборка не пройдёт:
git clone --recursive https://github.com/flipperdevices/flipperzero-firmware.gitЕсли репозиторий уже склонирован без подмодулей, их можно подтянуть отдельно командой git submodule update --init. Пропуск этого шага — частая причина ошибок при первой попытке сборки.
⚠️ Внимание: скачивайте код только из официального репозитория организации flipperdevices. Сторонние зеркала и «готовые сборки» с файлообменников могут содержать вредоносные изменения, которые невозможно заметить без аудита кода.
Структура проекта и языки разработки
Репозиторий организован модульно. Ядро прошивки, драйверы периферии и системные сервисы лежат в каталоге firmware, а пользовательские приложения — в applications. Скрипты сборки и вспомогательные инструменты расположены в каталоге scripts.
Основные компоненты кодовой базы:
- 🔧 Furi — абстракция над FreeRTOS: потоки, очереди сообщений, таймеры и примитивы синхронизации;
- 📱 GUI и системные сервисы — отрисовка интерфейса, управление питанием, хранилище настроек;
- 📡 Драйверы радиотракта — работа с субгигагерцовым трансивером, NFC, RFID, инфракрасным портом;
- 🧩 Приложения — как встроенные (Sub-GHz, NFC, iButton), так и внешние в формате .fap;
- 🐬 HAL-слой — привязка к микроконтроллеру STM32WB55 и его периферии.
Большая часть кода написана на C, отдельные утилиты сборки и генераторы — на Python. Для тех, кто хочет быстро прототипировать идеи без погружения в C, существует поддержка скриптов на JavaScript и MicroPython — они выполняются прямо на устройстве.
📊 Что вам интереснее всего в исходном коде Flipper Zero?