![](https://habrastorage.org/webt/fl/dq/3x/fldq3xts-cmfujvtvvu2orsro0a.jpeg)
Flipper Zero — проект карманного мультитула для хакеров в формфакторе тамагочи, который мы разрабатываем. Предыдущие посты [1],[2],[3],[4],[5],[6],[7]
Разработка железа сильно отличается от разработки софта. Если в софте можно вносить правки хоть каждый день, то в случае с железом на каждое изменение в плате нужно запускать новый цикл производства тестовых образцов и ждать, пока они приедут. Поэтому важным этапом производства электроники является заморозка дизайна. Это значит, что список и номиналы компонентов больше не меняются и изменения в схему платы и конструкцию корпуса больше не вносятся. После этого можно заказывать производство.
Последние полтора месяца мы активно работали над валидацией железа, стараясь покрыть тестами все сценарии использования, и сейчас мы почти готовы залочить BOM и приступить к производству первых 50 Флипперов в формате EVT (Engineering Validation Test). Устройства из первой партии будут отправлены контрибьютерам, которые участвуют в разработке.
Система питания
Подсистема питания во Флиппере намного сложнее, чем может показаться на первый взгляд. У нас используется несколько независимых цепей питания 3.3V для внутренней периферии и 5V для колебательного контура NFC и выхода внешней гребенки GPIO.
Основные компоненты системы питания
- BQ25896 — контроллер заряда аккумулятора, управляет процессом зарядки
- BQ27220 — (fuel gauge) счетчик входящей и исходящей энергии, следит за состоянием аккумулятора и позволяет определить реальную емкость аккумулятора с учетом износа
- 2х TPS62743, LM3281 — DC/DC преобразователи, они же импульсные конвертеры
![image](https://habrastorage.org/getpro/habr/post_images/821/81d/044/82181d044d2ff6b391da2d13fc20ef9c.png)
Схема системы питания Флиппера (кликабельно)
Чтобы быстрее отлаживать, мы выпускали платы с системой питания в виде отдельных модулей, которые подключались к Флипперу. Так можно было вносить изменения независимо от основной платы, потому что система питания менялась сильно чаще, чем основная плата.
![image](https://habrastorage.org/getpro/habr/post_images/167/9c8/beb/1679c8bebb64925954d71e6508ce4fe6.jpg)
Больше мощи для ИК-порта
В обычных инфракрасных пультах стоят огромные выводные ИК-диоды, которые могут излучать на большой мощности, но из-за их размера мы не можем поставить такие диоды во Флиппер. Поэтому нам пришлось искать способ получить достаточную мощность передатчика на SMD-светодиодах.
![](https://habrastorage.org/webt/fq/6a/gz/fq6agz7uh7bqwbzh-m1oekglk1i.jpeg)
Мы решили использовать 3 светодиода VSMY14940. У них узкая диаграмма направленности и мощность 82 мВт/ср на один диод.
![image](https://habrastorage.org/getpro/habr/post_images/03f/cca/0f6/03fcca0f68ece7a1f9297b11b4e9ee51.jpg)
Тесты ИК-порта
Двухдиапазонная антенна RFID
Чтобы совместить RFID 125 kHz и NFC 13,56 MHz на одной нижней поверхности, нам пришлось потрудиться. Для этого мы вынесли антенны на отдельную плату и совместили их на одной PCB, разместив одну внутри другой.
![image](https://habrastorage.org/getpro/habr/post_images/e86/1dc/75f/e861dc75f54ff8985381ac3c52f02f95.jpg)
Мы пробовали несколько комбинаций, и в итоге нашли оптимальный вариант, в котором хорошо читаются карты разных размеров в двух диапазонах. Теперь внутри Флиппер состоит из 4 плат.
![image](https://habrastorage.org/getpro/habr/post_images/6cd/7a5/9bf/6cd7a59bf6559fba553b8ea82d7bfb3b.png)
Тесты MicroSD
Во Флиппере SD-карта работает в режиме SPI. Это более медленный режим работы, чем привычный SDIO, но даже в этом режиме скорость чтения близка к 400 КБ/c, что более чем достаточно для наших задач.
![image](https://habrastorage.org/getpro/habr/post_images/229/a31/fc8/229a31fc8540e6f7ec74c240fefb57fd.jpg)
Отвечая на популярный вопрос «каков максимальный объем SD-карты?»: мы сейчас работаем с картами 16, 32 и 64ГБ, не испытывая проблем. Библиотека FatFS, которую мы используем, позволяет работать с картами объемом до нескольких ТБ. По умолчанию будет использоваться файловая система exFAT. Отформатировать карту можно будет прямо во Флиппере.
На предыдущих прототипах возникала проблема при вытаскивании карты: иногда выступ на карте задевал за корпус. Поэтому мы добавили ребро в корпусе, так карта всегда извлекается без проблем.
![image](https://habrastorage.org/getpro/habr/post_images/627/cdf/cf2/627cdfcf20a2866ae68e90557ad3956b.png)
Изменения во внешнем GPIO
Нам пришлось задействовать один GPIO на Флиппере для внутренних нужд, и мы решили подключить пин 9 к выводу iButton на нижней стороне. Этот же контакт отвечает за интерфейс 1-Wire, так что можно будет подключать датчики и прочую периферию, используя встроенную библиотеку 1-Wire.
![image](https://habrastorage.org/getpro/habr/post_images/ea4/3bb/e73/ea43bbe739f21109b785ae85da47a2a9.png)
Интерфейс
Первая версия главного меню. Зацените анимацию иконок. Это не финальный вариант и меню будет переделываться, но общую концепцию уже можно понять
Демонстрация главного меню
Тесты механики
Большую часть работы занимает тестирование механических компонентов. Мы постоянно проверяем разные конструкции кнопок, меняем пружины и конструкции толкателей. Для этого мы печатаем отдельные платы без электроники, только с напаянными SMD-кнопками
Приколы
Наш CTO Андрей coreglitch Строков иногда пишет безумные вещи на Флиппере, например игру floopper-bloopper в рамках хакатона Ludum Dare 47.
Еще одна забавная демка от нашего разработчика @DrZlo13 олдскульный музыкальный плеер, играющий мелодию Wintergatan — Marble Machine.
Следите за процессом разработки и новостями о Flipper Zero в:
Англоязычном блоге
Все характеристики Flipper Zero на официальном сайте.