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 преобразователи, они же импульсные конвертеры
Схема системы питания Флиппера (кликабельно)
Чтобы быстрее отлаживать, мы выпускали платы с системой питания в виде отдельных модулей, которые подключались к Флипперу. Так можно было вносить изменения независимо от основной платы, потому что система питания менялась сильно чаще, чем основная плата.
Флиппер, подключенный к внешней плате питания
Больше мощи для ИК-порта
В обычных инфракрасных пультах стоят огромные выводные ИК-диоды, которые могут излучать на большой мощности, но из-за их размера, мы не можем поставить такие диоды во Флиппер. Поэтому нам пришлось искать способ получить достаточную мощность передатчика на SMD-светодиодах.
Инфракрасный SMD-светодиод VSMY14940
Мы решили использовать 3 светодиода VSMY14940. У них узкая диаграмма направленности и мощность 82 мВт/ср на один диод.
Новый дизайн ИК-порта: три диода на передачу и TSOP на прием
Тесты ИК-порта
Двухдиапазонная антенна RFID
Чтобы совместить RFID 125 kHz и NFC 13,56 MHz на одной нижней поверхности, нам пришлось потрудиться. Для этого мы вынесли антенны на отдельную плату и совместили их на одной PCB, разместив одну внутри другой.
Мы пробовали несколько комбинаций, и в итоге нашли оптимальный вариант, в котором хорошо читаются карты разных размеров в двух диапазонах. Теперь внутри Флиппер состоит из 4 плат.
4 платы внутри Флиппера
Тесты MicroSD
Во Флиппере SD-карта работает в режиме SPI. Это более медленный режим работы, чем привычный SDIO, но даже в этом режиме скорость чтения близка к 400 КБ/c, что более чем достаточно для наших задач.
Тесты скорости чтения SD-карты в режиме SPI (байты в секунду)
Отвечая на популярный вопрос, какой максимальный объем SD-карты: мы сейчас работаем с картами 16, 32 и 64ГБ не испытывая проблем. Библиотека FatFS, которую мы используем, позволяет работать с картами объемом до нескольких ТБ. По умолчанию будет использоваться файловая система exFAT. Отформатировать карту можно будет прямо во Флиппере.
На предыдущих прототипах возникала проблема при вытаскивании карты: иногда выступ на карте задевал за корпус. Поэтому мы добавили ребро в корпусе, так карта всегда извлекается без проблем.
Пластиковое ребро чинит проблему застревания SD-карты при вытаскивании
Изменения во внешнем GPIO
Нам пришлось задействовать один GPIO на Флиппере для внутренних нужд, и мы решили подключить пин 9 к выводу iButton на нижней стороне. Этот же контакт отвечает за интерфейс 1-Wire, так что можно будет подключать датчики и прочую периферию используя встроенную библиотеку 1-Wire.
Пин 9 теперь подключен к контакту iButton (1-wire)
Интерфейс
Первая версия главного меню. Зацените анимацию иконок. Это не финальный вариант и меню будет переделываться, но общую концепцию уже можно понять
Демонстрация главного меню
Тесты механики
Большую часть работы занимает тестирование механических компонентов. Мы постоянно проверяем разные конструкции кнопок, меняем пружины и конструкции толкателей. Для этого мы печатаем отдельные платы без электроники, только с напаянными SMD-кнопками
Приколы
Наш CTO Андрей@coreglitch Строков иногда пишет безумные вещи на Флиппере, например игру floopper-bloopper в рамках хакатона Ludum Dare 47.
Еще одна забавная демка от нашего разработчика @DrZlo13 олдскульный музыкальный плеер, играющий мелодию Wintergatan — Marble Machine.
Следите за процессом разработки и новостями о Flipper Zero в:
Англоязычном блоге
Все характеристики Flipper Zero на официальном сайте.
Автор: Павел Жовнер