Исходный код прошивки 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?