Flipper Zero/One — теперь два устройства. Подготовка к Кикстартеру

cdtvk4ilchwo50fdkfnigmnvgde.jpeg

Flipper — проект карманного мультитула для хакеров в формфакторе тамагочи, который я разрабатываю с друзьями. Предыдущие посты [1],[2].

Сайт проекта: flipperzero.one

Пока мы работали над линуксовой частью флиппера, у нас в руках был почти готовый модуль на STM32, который управлял периферией, экраном, кнопками. Без линукса он умел 433MHz радио, домофонные ключи и RFID карты. Чем не готовый девайс — подумал я. Так мы решили сделать из него отдельное устройство. Теперь флипперов два — Zero и One.

Под катом я расскажу про изменения в проекте, и как мы готовимся к краудфандингу.

Чем отличаются версии Zero и One


yc7i_azr5jhsafhsbykxhyhhffs.jpeg

Flipper Zero

легковесная, компактная версия, построенная полностью на STM32. Умеет работать с основными системами контроля доступа, пультами и радио. Функционал можно расширять своими программами. Думать о ней следует как о продвинутой замене Arduino и Blue Pill со злой прошивкой, которую удобно носить с собой и хекать на ходу.

Flipper One

продвинутая версия имеющая весь функционал Zero плюс отдельный ARM компьютер с Kali Linuх. Это уже более серьезный инструмент для пентеста сетей и систем контроля доступа.

Что изменилось во Flipper Zero


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

_2wtos7ygoqiogevyqj7bl0ln2o.jpeg

Добавились пины GPIO, этого больше всего просили в голосовании за функции. Логические уровни выходных сигналов 3.3V, при этом пины толерантны к входящим сигналам 5V, то есть можно свободно подключать популярные модули вроде Arduino. Есть отдельные линии питания 3.3V и 5V, так что можно сразу питать модули от Флиппера.

Появился инфракрасный порт для управления телевизорами и кондиционерами.

utah85qe2lryz0ufrielpx3_uhq.jpeg
uq6annpgbgglulrkvprjpm0tjb0.jpeg

Так как у нас больше нет Raspberry Pi, на торце пропали порты USB и HDMI. Остался один порт USB Type C, который одновременно используется для зарядки, прошивки, консоли и эмуляции USB slave.

Радио CC1101


oy0r59k4qvw7jkak6mzi4fs6ncu.png

Радио теперь сделано на чипе TI CC1101. Мы рассчитываем, что встроенная антенна будет лучше всего работать и диапазоне 433 MHz и терпимо в 868 MHz. Это должно покрыть максимальное число возможных радио систем: пультов, шлагбаумов, дверных звонков, сигнализаций.

Анализатор сигналов


Родная прошивка будет уметь парсить популярные радиопротоколы, используемые в системах контроля доступа, в том числе и алгоритмы с шифрованием вроде KeeLoq.

1ntir1tdvx7058m-dof8wzyrbjs.jpeg

Инфракрасный порт


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

lalpbazmpe-39eqz-rvwbdel6iy.jpeg

Функция обучения


Если нужного сигнала нет в библиотеке, его можно будет записать с существующего пульта. Для этого нужно направить пульт в глаз Флипперу и нажать нужную кнопку.

3zfsxeuues4c29bt2ttg_xiuey0.jpeg

GPIO для подключения к железу


Теперь у Флиппера есть 12 портов GPIO с которыми можно делать что угодно: использовать как программатор, фаззер, USB-адаптер для UART/I2C/SPI. При этом можно не подключать флиппер к компьютеру, а запускать заранее написанные программы прямо из меню, читать вывод на экранчике.

cwj0zcxlnponjtzdut5fzphibza.jpeg

Поддержка Arduino IDE и PlatformIO


Для STM32 можно писать прошивки в хорошо знакомой новичкам среде Arduino IDE или в Visual Studio Code с плагином PlatformIO. При подключении к компьютеру, по умолчанию, флиппер определяется как HID-устройство, поэтому для работы не требует установки драйверов, нужен будет только плагин к среде. Разумеется, писать код можно где угодно и прошивать любыми другими инструментами, поддерживающими работу с STM32.

bt7axejbborgtlcjhbpl318w4go.jpeg

Библиотека плагинов


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

dvmk8u3omsvwjvakkwp7flrdhgy.jpeg

В своих программах можно использовать все аппаратные модули: кнопки, выводить изображение на экран, задействовать радио модуль, GPIO, 125KHz. Мы планируем выпустить удобные библиотеки для работы с аппаратными частями Флиппера в едином формате.

iButton


Контактная площадка iButton существенно переработана. Мы долго искали подходящую форму, чтобы он мог работать одновременно как считыватель ключей, так и сам выступать ключом. Теперь он имеет три контакта: два плюса и один минус.

53oqwdj9r9pyhzvm1_mrn27ks7m.jpeg

Что внутри


Так как плата осталась одна, компоновка внутренностей стала более изящной. К вибромотору добавился пьезодинамик для индикации.
sjiz6fwxuuteobwiudtqglgn5jc.png

Коронавирусный коллапс


Кризис с коронавирусом не обошел и нас. Мы произвели первую партию прототипов в Китае, но тут внезапно началась эпидемия, все сломалось. Уже несколько недель не можем отправить прототипы в Москву. Сейчас производство постепенно восстанавливается, но конца кризиса не видно.

Фото прототипов перед тем, как они застрянут в грузовой компании:

jvopcg_umprss21ws6c9p1vxmy0.jpeg

Изначально мы планировали стартануть кампанию в середине апреля, но из-за коронавируса даты сдвинулись. Сейчас мы ждем окончания карантина и продолжаем готовиться к краудфандинговой кампании на Кикстартере. Нам осталось только снять видео на Кикстартер, но пока все локации в Москве закрыты, поэтому мы тихонечко ждем. Как только ситуация чуть-чуть успокоится, мы запустим кампанию. Очень надеемся, что это произойдет в мае, если все не умрут.

FAQ

Как купить?


Предзаказ можно оформить на сайте flipperzero.one. Если вам интересен проект, я очень прошу вас оформить предзаказ, это важно для нас, чтобы прогнозировать объемы.

Это законно?


Это инструмент для исследований. Все его компоненты можно купить по отдельности в магазине. Если встроить WiFi адаптер и 433MHz трансмиттер в маленький корпус и добавить туда экранчик, он не станет от этого более незаконным. Устройство не подпадает под определение спец. средства или прибора для негласного сбора информации. Незаконным может быть ТОЛЬКО его использование с целью нанесения ущерба или для незаконных действий.

Как задонатить?


В данный момент вы можете поддержать меня лично небольшими пожертвованиями на еду через Patreon. Регулярные пожертвования в виде 1$ намного лучше, чем большая сумма за раз, потому что позволяют прогнозировать наперед.
ueiimdzuyrmmsl8smmtdvprox94.png Все заметки по проекту я публикую в свой Telegram-канал @zhovner_hub.

© Habrahabr.ru