Flipper Zero — в шаге от финальной версии железа

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
Схема системы питания Флиппера (кликабельно)

Чтобы быстрее отлаживать, мы выпускали платы с системой питания в виде отдельных модулей, которые подключались к Флипперу. Так можно было вносить изменения независимо от основной платы, потому что система питания менялась сильно чаще, чем основная плата.

imageФлиппер, подключенный к внешней плате питания

Больше мощи для ИК-порта


В обычных инфракрасных пультах стоят огромные выводные ИК-диоды, которые могут излучать на большой мощности, но из-за их размера, мы не можем поставить такие диоды во Флиппер. Поэтому нам пришлось искать способ получить достаточную мощность передатчика на SMD-светодиодах.

fq6agz7uh7bqwbzh-m1oekglk1i.jpegИнфракрасный SMD-светодиод VSMY14940

Мы решили использовать 3 светодиода VSMY14940. У них узкая диаграмма направленности и мощность 82 мВт/ср на один диод.

imageНовый дизайн ИК-порта: три диода на передачу и TSOP на прием

Тесты ИК-порта

Двухдиапазонная антенна RFID


Чтобы совместить RFID 125 kHz и NFC 13,56 MHz на одной нижней поверхности, нам пришлось потрудиться. Для этого мы вынесли антенны на отдельную плату и совместили их на одной PCB, разместив одну внутри другой.

image

Мы пробовали несколько комбинаций, и в итоге нашли оптимальный вариант, в котором хорошо читаются карты разных размеров в двух диапазонах. Теперь внутри Флиппер состоит из 4 плат.

image4 платы внутри Флиппера

Тесты MicroSD


Во Флиппере SD-карта работает в режиме SPI. Это более медленный режим работы, чем привычный SDIO, но даже в этом режиме скорость чтения близка к 400 КБ/c, что более чем достаточно для наших задач.

imageТесты скорости чтения SD-карты в режиме SPI (байты в секунду)

Отвечая на популярный вопрос, какой максимальный объем SD-карты: мы сейчас работаем с картами 16, 32 и 64ГБ не испытывая проблем. Библиотека FatFS, которую мы используем, позволяет работать с картами объемом до нескольких ТБ. По умолчанию будет использоваться файловая система exFAT. Отформатировать карту можно будет прямо во Флиппере.

На предыдущих прототипах возникала проблема при вытаскивании карты: иногда выступ на карте задевал за корпус. Поэтому мы добавили ребро в корпусе, так карта всегда извлекается без проблем.

imageПластиковое ребро чинит проблему застревания SD-карты при вытаскивании

Изменения во внешнем GPIO


Нам пришлось задействовать один GPIO на Флиппере для внутренних нужд, и мы решили подключить пин 9 к выводу iButton на нижней стороне. Этот же контакт отвечает за интерфейс 1-Wire, так что можно будет подключать датчики и прочую периферию используя встроенную библиотеку 1-Wire.

imageПин 9 теперь подключен к контакту iButton (1-wire)

Интерфейс


Первая версия главного меню. Зацените анимацию иконок. Это не финальный вариант и меню будет переделываться, но общую концепцию уже можно понять
Демонстрация главного меню

Тесты механики


Большую часть работы занимает тестирование механических компонентов. Мы постоянно проверяем разные конструкции кнопок, меняем пружины и конструкции толкателей. Для этого мы печатаем отдельные платы без электроники, только с напаянными SMD-кнопками

Приколы


Наш CTO Андрей@coreglitch Строков иногда пишет безумные вещи на Флиппере, например игру floopper-bloopper в рамках хакатона Ludum Dare 47.

Еще одна забавная демка от нашего разработчика @DrZlo13 олдскульный музыкальный плеер, играющий мелодию Wintergatan — Marble Machine.


Следите за процессом разработки и новостями о Flipper Zero в:
Instagram
Facebook
Англоязычном блоге

Все характеристики Flipper Zero на официальном сайте.

© Habrahabr.ru