Русский
Русский
English
Статистика
Реклама

Flipper Zero вымученная сертификация, открытие исходников и новые приколдесы



Flipper Zero проект карманного мультитула для хакеров в формфакторе тамагочи, который мы разрабатываем. Предыдущие посты [1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12]

Мы изо всех сил готовимся к старту массового производства, но на пути возникают шероховатости. Нам посчастливилось, что наше производство приходится на один из самых крупных кризисов в поставке электронных компонентов за последние пару десятков лет. Вы можете наблюдать это, например, по ситуации с видеокартами. Также нам пришлось переделать Sub-1 GHz тракт, чтобы он соответствовал требованиям регулятора, и антенна не отваливалась от ударов. В посте я расскажу, что мы делаем сейчас, как движется разработка, как выглядит подготовка к доставке, и покажу пару новых классных фич.

Трудности с сертификацией Sub-1 GHz


Как мы писали ранее, для того чтобы официально ввозить устройства в Евросоюз, США, Японию, Австралию, нам нужно получить сертификат соответствия радиочастотным нормам в этих странах. Наш первый дизайн тракта Sub-1 GHz не проходил сертификацию из-за паразитных гармоник, превышающих допустимый уровень. В итоге нам пришлось сильно переделать дизайн всего тракта. Это отняло много времени, потому что необходимо было добиться одинаково хорошего качества передачи на всех 3 поддерживаемых диапазонах: 315, 433, 868 MHz.

image
Гармоники в диапазоне 315 MHz

Были даже совсем экзотические варианты: разделить антенну на несколько сегментов и подключать разные ее части с помощью переключателей на GPIO. К счастью, такое усложнение не потребовалось, а новый дизайн отвечает всем формальным требованиям.

image
Вариант дизайна антенны из нескольких частей

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

image
Клейкая подложка для фиксации антенны убирает вибрации

flipperzero new design sub1ghz antenna
Старая антенна Sub-1 GHz могла оторваться при вибрациях и падениях. В новом дизайне 2 точки крепления

Уникальное имя


imageТак выглядит паспорт дельфина, в котором теперь указано его имя

Каждый микроконтроллер STM32WB55 внутри Flipper Zero имеет уникальный серийный номер в шестнадцатиричном формате. Но это скучно и мы решили дать каждому Флипперу уникальное читаемое имя. Для этого мы взяли нейронную сеть, натренированную на именах покемонов, и сгенерировали словарь из 1 миллиона имен. Для большей уникальности имена разбавлены 1337-спиком.

Иногда нейронная сеть генерировала очень провокацинные имена. Пришлось долго настраивать фильтры, чтобы убрать имена похожие на ругательства. Но весь миллион именем просмотреть нереально, поэтому есть риск, что вам достанется Флиппер с именем вроде Loh4mo.

image
Странные имена, сгенерированные нейронной сетью, обученной на именах покемонов

Уникальный путь к порту в macOS


Это имя передается в дескрипторе USB как серийный номер в формате flip_NAME. В macOS этот серийный номер дописывается к имени последовательного порта и получается: /dev/tty.usbmodemflip_Oleg

Flipper Zero unique USB port name in macOS

Разработка интерфейса


Прошивка это самая масштабная часть работы в проекте Флиппера. Над ней трудятся сразу несколько команд: программисты, UI/UX-проектировщики, дизайнеры. Дизайн интерфейса осложняется тем, что у Флиппера маленький экранчик (всего 128х64 px) и только 5 функциональных кнопок, не считая кнопки Back. Это порождает необычный процесс проектирования интерфейсов. Мы выработали такой порядок:

  1. Сперва интерфейс проектируется в виде майндмапов в Miro. В этом месте происходит обсуждение, проработка разных концепций, споры и т.д.
  2. Утвержденный интерфейс разбивается на конкретные экраны и отрисовывается в виде картинок 128x64 в фотошопе в формате BMP.
  3. Дальше ассеты (наборы графики) конвертируются из BMP в XBM и передаются программистам вместе и инструкциями как нужно реализовывать интерактивные элементы, вроде клавиатуры и диалоговых окон. В процессе реализации интерфейса часто возникают ситуации, когда существующая библиотека для графики не позволяет реализовать что-то, тогда приходится решать, переделывать ли интерфейс, или дорабатывать графическую библиотеку.

image
Структура приложения RFID в Miro

Кроме самого дизайна экрана необходимо придумывать логику перемещения между разными состояниями, таймауты, индикацию (вибрация, пищалка, статусный светодиод), механизмы работы персонажа дельфина, очки за совершение действий и бездействие. Эта логика тоже отражена в карте приложения.

image
Пример логики перехода между экранами и уведомлений

Блокировка экрана и новый UI главного экрана


Полностью переработан главный экран и быстрый доступ к функциям.

  • Вверх меню блокировки.
  • Вправо взаимодействие с дельфином.
    Можно посмотреть профиль, поиграть и покормить пацана.
  • Вниз быстрый доступ к инвентарю
    Ключи из всех приложений сохраняются в архив, по которому можно быстро перемещаться, чтобы сразу иметь доступ ко всем ключам из разных приложений: iButton, RFID/NFC, Infrared и т.д.

Демонстрация функции блокировки экрана и новые окна главного экрана

Приложение qFlipper


image
Приложение qFlipper для обновления прошивки, радиостека, загрузчика и трансляции экрана Флиппера на компьютер

Мы разрабатываем свою утилиту для прошивки Флиппера на Qt и C++. Она будет нативно работать на всех десктопных платформах. Еще эта утилита умеет захватывать фреймбуфер экрана Флиппера и транслировать его на экране компьютера. Это позволяет делать качественные скринкасты вместо того, чтобы снимать Флиппер камерой. Это удобно для записи инструкций и обучающих материалов.


Через qFlipper можно транслировать экран Флиппера в реальном времени на компьютер

Обновление прошивки из браузера


image
Обновить прошивку Flipper Zero можно через браузер без сторонних программ. Поддерживается Chrome, Opera, Microsoft Edge

Оказывается, есть такая штука, как WebUSB позволяет прямо из браузера общаться с USB-устройством. У нас получилось успешно обновить прошивку Флиппера через специальную страницу Web DFU-Util Пока поддерживается только в Chrome, Opera, Microsoft Edge.

Это безумно круто, потому что позволяет пользователю прошить свой Флиппер, вообще не скачивая никакие файлы из интернета! В итоге релизы альтернативных прошивок будут выглядеть так:

  1. Чувак форкает репозиторий с прошивкой Флиппера сразу вместе с файлами для WebUSB
  2. Делает свою сборку от Васяна и одной кнопкой создает страницу на GitHub Pages, куда выкладывает бинарник своей прошивки
  3. Любой желающий может зайти на его сайт и в один клик прошить свой Флиппер его прошивкой

Начинаем открывать исходники


Схема Flipper Zero теперь публична

Мы постепенно начинаем выкладывать исходники проекта. Сейчас уже опубликована принципиальная схема всего Flipper Zero в виде каждой отдельной платы. Мы просим вас изучить схему и написать обо всех замечаниях в комментариях.

Исходники схемы: docs.flipperzero.one/ru/development/hardware/schematic


Мы также опубликовали чертежи и обновили 3D-модели корпуса и референсного модуля Флиппера.

Они доступны в документации и отдельном репозитории.

Эти модели уже очень близки к финальным, хоть и могут незначительно измениться перед процессом литья.

Мы продолжим открывать исходники проекта, и к моменту отправки основной волны устройств опубликуем все оставшиеся части проекта.

Упаковка и логистика


Готовим упаковку. Мы выбрали самый простой, дешевый и экологичный картон с черно-белой печатью. От упаковки требуется быть максимально компактной и при этом уберечь устройство внутри от падений, ударов и сжатий.

Внутри коробки находится вставка из упругой пенки, куда укладывается сам Флиппер. Под ним будет находиться Type-C кабель.

Важно, чтобы устройство внутри было зафиксировано неподвижно, иначе от тряски могут быть потертости. Чтобы проверить это, устройство проходит ряд тестов на безопасность транспортировки, в том числе на вибрационном стенде.

image
Тестовые образцы коробки. Финальная версия будет аккуратной, а изображение может отличаться

Если вы хотите принять участие в дизайне коробки, вот исходники cdn.flipperzero.one/Flipper_zero_Box_Template.zip Свои варианты можете выкладывать в комментариях.

image
Исходники дизайна коробки для желающих предложить свой вариант оформления

Так как мы отправляем устройство с подключенной батареей, нам нужно получить все необходимые для этого сертификаты, UN38.3 и тестовые отчеты по транспортной безопасности, а также убедиться, что устройство едет в безопасном режиме.

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

Заполнение адресов и оплата доставки


imageНа сегодняшний день 92% бэкеров заполнили адрес доставки в пледж-менеджере. Около 3 тысяч бэкеров до сих пор не закончили опрос. Если вы до сих пор не заполнили свои данные, пожалуйста, сделайте это. Нам важно точно рассчитывать количество черных и белых корпусов для производства, а также регионы, в которые поедут посылки.

BackerKit работает точно так же как Кикстартер: в форме вы просто указываете карту, а списание произойдёт массово и позднее. В пледж-менеджере можно добавить в заказ дополнительных Флипперов, чехол и прочие аксессуары. Даже если вы завершили заполнение формы, любые поля в ней можно изменить, пока мы не заблокируем заказы, о чём предупредим заранее.

Подробнее описывали процесс в англоязычном посте.

image
8% бекеров не закончили ввод адреса и карты для оплаты доставки в пледж-менеджере

В середине апреля мы начнем списывать деньги с ваших карт за доставку и аксессуары. До этого момента вы можете свободно изменять адрес доставки, выбранные цвета, набор аксессуаров в заказе. Поменять можно даже страну доставки. За несколько дней до блокировки заказов и списания денег мы пришлем письмо, чтобы не застать вас врасплох. И всё же, не зевайте.

Отладочный модуль ST-Link V3


image
Модуль отладчика для Flipper Zero на базе ST-Link V3

Для всех желающих разрабатывать модули под Флиппер мы опубликовали исходники референсного модуля отладочной платы на базе STLink V3. Доступны полные исходники проекта в Altium, наша библиотека компонентов и чертежи механики.

Наша разработчица Сахаайа, которая занимается трассировкой плат, записала небольшой видеоурок о том, как выглядит работа в Altium.


Алло, мы ищем таланты!


imageМы постоянно ищем инженеров и менеджеров в нашу дружную команду. Весь список вакансий можно посмотреть здесь career.habr.com/companies/flipper-devices




C Разработчик (Embedded) / Middle


Прошивка очень масштабная часть, состоящая из операционной системы на базе FreeRTOS и большого числа отдельных приложений, поэтому мы постоянно набираем новых разработчиков для ее реализации. Нам нужен человек, который уверенно умеет в C и хорошо знаком с эмбеддом. Полное описание вакансии career.habr.com/vacancies/1000068496

QA-инженеры / Тестировщики ПО (Embedded)


Тестирование объемная часть, которая невероятно важна на всех этапах создания Flipper Zero. Сейчас наши разработчики активно выкатывают новые версии софта и железа, поэтому в нашу команду нужен Middle и Juior QA-инженеры. Полное описание вакансий:
career.habr.com/vacancies/1000071996
career.habr.com/vacancies/1000071987

Project Manager


Наш проект состоит из большого количества систем, каждой из которых занимается один или несколько людей. Мы ищем человека, который поможет успевать со всеми задачами, синхронизировать команды и держать планирование под контроллем. Полное описание вакансии career.habr.com/vacancies/1000063748



Наши соц.сети




Все характеристики Flipper Zero на официальном сайте.
Наш англоязычный блог.
Источник: habr.com
К списку статей
Опубликовано: 23.03.2021 18:09:53
0

Сейчас читают

Комментариев (0)
Имя
Электронная почта

Блог компании flipper devices inc

Производство и разработка электроники

Flipperzero

Flipper zero

Stm32wb55

Bluetooth low energy

Ble

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru