Flipper Zero — проект карманного мультитула для кулхацкеров в формфакторе тамагочи. Он умеет открывать домофоны, гаражные ворота, шлагбаумы, клонировать бесконтактные карты, управлять телевизорами. При этом это тамагочи, в котором живет дерзкий кибер–дельфин, который регулярно оскорбляет вас.
Flipper Zero — устройство, которое реализовывает типичные сценарии атак, всегда в боевой готовности и при этом не представляет из себя пачку разваливающихся плат, смотанных изолентой.
После того, как была опубликована открытая реализация протокола AirDrop owlink.org и исследование от ребят из HexWay об уязвимостях iOS Apple–Bleee, появились новые способы: знакомиться с людьми в метро, рассылая им картинки через AirDrop и собирая их номера телефонов. После автоматизации этого процесса и сделал автономную дик–пик машину из Raspberry Pi Zero W и батарейки.
Разработка железа сильно отличается от разработки софта. Если в софте можно вносить правки хоть каждый день, то в случае с железом, на каждое изменение в плате нужно запускать новый цикл производства тестовых образцов и ждать пока они приедут. Поэтому важным этапом производства электроники является заморозка дизайна. Это значит, что список и номиналы компонентов больше не меняются и изменения в схему платы и конструкцию корпуса больше не вносятся. После этого можно заказывать производство.
Последние полтора месяца активно велась работа над валидацией железа, стараясь покрыть тестами все сценарии использования и сейчас мы почти готовы залочить BOM и приступить к производству первых 50 Флипперов в формате EVT (Engineering Validation Test). Устройства из первой партии будут отправлены контрибьютерам, которые участвуют в разработке.
Система питания
Подсистема питания во Флиппере намного сложнее, чем может показаться на первый взгляду. Используется несколько независимых цепей питания 3.3V для внутренней периферии, и 5V для колебательного контура NFC и выхода внешней гребенки GPIO.
Основные компоненты системы питания
- BQ25896 — контроллер заряда аккумулятора, управляет процессом зарядки
- BQ27220 — (fuel gauge) счетчик входящей и исходящей энергии, следит за состоянием аккумулятора и позволяет определить реальную емкость аккумулятора с учетом износа
- 2х TPS62743, LM3281 — DC/DC преобразователи, они же импульсные конвертеры
Чтобы быстрее отлаживать, разработчики выпускали платы с системой питания в виде отдельных модулей, которые подключались к Флипперу. Так можно было вносить изменения независимо от основной платы, потому что система питания менялась сильно чаще, чем основная плата.
Больше мощи для ИК-порта
В обычных инфракрасных пультах стоят огромные выводные ИК-диоды, которые могут излучать на большой мощности, но из-за их размера, не могут поставить такие диоды во Флиппер. Поэтому пришлось искать способ получить достаточную мощность передатчика на SMD-светодиодах.
Использовали 3 светодиода VSMY14940. У них узкая диаграмма направленности и мощность 82 мВт/ср на один диод.
Двухдиапазонная антенна RFID
Чтобы совместить RFID 125 kHz и NFC 13,56 MHz на одной нижней поверхности, пришлось потрудиться. Для этого вынесли антенны на отдельную плату и совместили их на одной PCB, разместив одну внутри другой.
Пробовали несколько комбинаций, и в итоге нашли оптимальный вариант, в котором хорошо читаются карты разных размеров в двух диапазонах. Теперь внутри Флиппер состоит из 4 плат.
Тесты MicroSD
Во Флиппере SD-карта работает в режиме SPI. Это более медленный режим работы, чем привычный SDIO, но даже в этом режиме скорость чтения близка к 400 КБ/c, что более чем достаточно для задач.
Отвечая на популярный вопрос, какой максимальный объем SD-карты: сейчас работает с картами 16, 32 и 64ГБ не испытывая проблем. Библиотека FatFS, которую используют, позволяет работать с картами объемом до нескольких ТБ. По умолчанию будет использоваться файловая система exFAT. Отформатировать карту можно будет прямо во Флиппере.
На предыдущих прототипах возникала проблема при вытаскивании карты: иногда выступ на карте задевал за корпус. Поэтому добавили ребро в корпусе, так карта всегда извлекается без проблем.
Изменения во внешнем GPIO
Пришлось задействовать один GPIO на Флиппере для внутренних нужд, и решили подключить пин 9 к выводу iButton на нижней стороне. Этот же контакт отвечает за интерфейс 1-Wire, так что можно будет подключать датчики и прочую периферию используя встроенную библиотеку 1-Wire.
Следите за процессом разработки и новостями о Flipper Zero в:
Все характеристики Flipper Zero на официальном сайте.