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

Приглашаю под кат, чтобы посмотреть, что получилось и обсудить, как можно сделать лучше :)


Flipper Zero

Flipper Zero — портативное многофункциональное Тамагочи-подобное устройство, разработанное для взаимодействия с системами контроля доступа и другими системами, использующими для связи радиоканал. Устройство способно считывать, копировать и эмулировать метки RFID и NFC, радиопульты, iButton и цифровые ключи доступа, а также имеет интерфейс GPIO. (с) Wikipedia

https://habr.com/ru/articles/734294/
https://habr.com/ru/articles/734294/

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

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

У меня Флиппер тоже есть. Он прекрасен, но, как я писала год назад, слишком большой, чтобы носить его с собой всегда. А ведь никогда не знаешь, когда забудешь ключи! Что же делать? Правильно. Делать свой :)

Первый вариант

Итак, поехали. Для начала формализуем требования:

  1. Тотже функционал: SubGHz, NFC, RFID, ИК, iButton, GPIO. Здесь все просто — реализуем эти узлы примерно так же, как во Флиппере, схемы которого доступны на сайте.

  2. Максимальная компактность. Тут два варианта — или отказаться от автономного режима вообще, а вместе с ним — от экрана и батареи, или все же сохранить автономность. Выберем второе, использовав компактный и доступный экран на SSD1306, а вместо большого аккумулятора используем CR2032 (или перезаряжаемый вариант — LIR2032). Да, запас энергии теперь куда меньше, поэтому режимом тамагочи придется пожертвовать — будем полностью выключать питание через минуту неактивности.

  3. Совместимость с прошивками Флиппера в бинарном виде. Конечно, прошивки открыты и ничего не мешает внести небольшие изменения, но это все‑таки снижает удобство. А в нашем устройстве экран OLED, который инициализируется иначе и «просто так» работать не будет. Что делать? А мы добавим еще один STM32 между экраном и сердцем устройства — STM32WB55! И заодно попросим его эмулировать ответы от PMIC и Fuel Gauge и управлять питанием.

  4. Минимальная стоимость и простота производства. Немного упростим девайс и выберем компоненты, доступные в JLCPCB прямо сразу.

Для разработкиплаты я решила попробовать KiCad. Долгое время мне казалось, что он слишком сырой и даже недорогие EDA вроде DeepTrace заведомо лучше, не говоря уж про Altium, но один друг активно рекламировал кикад, так что — почему бы и нет?

Вот такая получилась плата
Вот такая получилась плата

Плата четырехслойная, два слоя отданы под GND и VCC, два внешних — сигнальные. До сих пор многие думают, что многослойные платы — это сложно. На самом же деле даже 4 слоя существенно упрощают работу и почти убирают сложности с правильной разводкой земли и питания. Срок же изготовления и стоимость у китайцев растут совсем незначительно — три дня вместо одного.

Ни один Флиппер в ходе экспериментов не пострадал!
Ни один Флиппер в ходе экспериментов не пострадал!

Чем заняться, пока платы не пришли?

Напишем прошивку второго MCU, инициализирующую дисплей.

Это несложно — принимаем данные для дисплея по одному SPI, фильтруем всё, кроме посылок с данными, инициализируем дисплей самостоятельно, а данные изображения отправляем, как есть (в данном случае, их формат совпадает).

Кстати, на картинке слева видно, что будет, если обрабатывать данные недостаточно быстро :)

Проходит две недели, и платы у меня на столе. Но увидела я их раньше — можно попросить китайцев сфотографировать собранные платы до отправки. Вот так:

Вместо камеры у JLCPCB картошка, но что поделать
Вместо камеры у JLCPCB картошка, но что поделать

Вместо STM32WB55RGV использован модуль STM32WB5MMG — это то же самое, только с интегрированными антенной, кварцевыми кристаллами и некоторой другой обвязкой. Отлично, подумала я, плата будет проще!

Как оказалось, решение было так себе :) У чипов есть однократно записываемая память, то место, где хранится уникальное имя Флиппера, его версия, регион и другие данные. У отдельных MCU эта область пуста. А у модулей MMG заняты первые 8 байт данными калибровки антенны, и это именно те 8 байт, которые нам нужны!

А почему перемычка красная?
А почему перемычка красная?

В первой версии, конечно, ошибок было порядком. Перепутаны MISO и MOSI у NFC-чипа. Перепутана часть ножек ОУ, на котором собран RFID. Центральная кнопка замыкается на землю, а должна на VCC.

Но версия на то и тестовая, чтобы все это выявить, так получается даже быстрее, чем очень-очень внимательно пытаться проверить всё до заказа.

И к счастью, у нас в команде есть джедай Олег, способный перекоммутировать перемычками дорожки на расстоянии 0,1 мм не только без микроскопа, но даже без лампы и лупы! Мне, например, это сложно даже с микроскопом :) Я все-таки кот, у меня немножко лапки!

Kiisu

Спасибо нейросетям за логотип
Спасибо нейросетям за логотип

Почему Kiisu? Надо же было как-то назвать, не используя слово Flipper, ведь мы не имеем отношения к Flipper Devices Inc :)

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

Кроме того, я просто люблю котов.

В этой версии было решено не только исправить ошибки, но и переделать формфактор под размер кредитной карты. Да, размеры стали больше, но это позволило перенести все компоненты на одну сторону, уменьшив толщину до четырех миллиметров (это примерно 5 пластиковых карт, сложенных вместе). А значит, Киису теперь можно просто положить в кошелек и всегда брать с собой!

Что еще изменилось?

  • Само собой, были исправлены ошибки.

  • Вместо модуля STM32WB5MMG теперь обычный STM32WB55RGV. Да, пользователь сможет записать в OTP-память все, что ему нравится.

  • Добавились датчик влажности и температуры, акселерометр и компас LSM303, возможность установить ToF дальнометр VL53xxx и датчик качества воздуха BME680.

  • Добавилсядатчик света (а на самом деле — просто фототранзистор) и вместе с ним — возможность проверять светодиодные лампы и мониторы на предмет мерцания.

  • Плата стала шестислойной.

Kiisu v3 уже готов
Kiisu v3 уже готов
И с другой стороны
И с другой стороны

Что дальше?

В течение 1–2 месяцев мы планируем начать продажи Киису всем желающим. Пока — в Европе, но работаем и над другими вариантами. Ожидаемая цена — в районе 60 EUR, но это пока не очень точно.

И конечно, мы планируем дальше вносить улучшения, причем оперативно. Форм‑фактор останется таким же и больше меняться не будет, но нам не нужно выпускать сразу миллион штук — а это позволяет действовать куда гибче.

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

Комментарии (32)


  1. Dmitry_Dor
    19.09.2024 04:50
    +3

    ...вместо большого аккумулятора используем CR2032 (или перезаряжаемый вариант - LIR2032) ...мы планируем начать продажи Киису всем желающим.

    При продаже предполагается сразу комплектовать перезаряжаемыми LIR2032, или будет "стартовый" CR2032?
    Если используется LIR2032, то что с его зарядкой (от USB или отдельная)?


    1. Bluewolf Автор
      19.09.2024 04:50
      +1

      Скорее всего, будут сразу LIR2032. Устройство умеет их заряжать, да.


  1. Voland69
    19.09.2024 04:50
    +1

    К нему бы корпус минимальный, например прозрачный пластиковый с вырезами где кнопки, разъемы и батарейка - в текущем виде, имхо, есть опасение что в кармане что-то оторвешь.


    1. Bluewolf Автор
      19.09.2024 04:50
      +3

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

      Примерно так


      1. dmitriylyalyuev
        19.09.2024 04:50
        +2

        STL для печати на 3D принтере надо.


  1. x89377
    19.09.2024 04:50
    +11

    Ссылки на github не нашел.


    1. Bluewolf Автор
      19.09.2024 04:50
      +1

      Ссылка будет чуть позже.


  1. the_bat
    19.09.2024 04:50
    +1

    Отлично получилось. И да, на 4х и более разводку делать проще, но наступает момент когда не хватает места для перехрдных)


  1. NutsUnderline
    19.09.2024 04:50
    +2

    ну чтож этот недофлипер не остался фантазией, а стал недофлиппером. как факт это приятно.

    Я подумывал сделать свое флиппер-совместимое, на базе немного другого stm32wb55 но вовремя остановился иначе явно бы пришлось переделать прошивку. НО дисплейчик такой же как во флиппере я нашел в нескольких вариациях в виде модуля, такой же как тут OLED, так что я не понимаю зачем тут такой имплант.

    CC1101 похоже вылетел из описания? Правда он опять без внешней антенны которую хотели и делали многие.

    Zigbee ожидаемо не дождались.

    Девайс Minio на esp32c6 с таким же oled экранчиком тоже уже сделали , прямо в виде кота плата выпилена.

    Чисто для ключей-брелков Kiisu явно избыточна, для этого вполне хватило бы nrf52840 в виде chameleon ultra и его китайских клонов


    1. Bluewolf Автор
      19.09.2024 04:50
      +2

      CC1101 на месте и скрывается под словом SubGHz :) Внешняя антенна добавляется припаиванием предусмотренного SMA разъема на край (справа внизу) и сменой перемычки.

      Вообще говоря, на плате есть место и вполне можно добавить какой-нибудь nRF, или ESP32 для вайфая, или CC2651.

      С дисплеем - что имеете ввиду?


      1. NutsUnderline
        19.09.2024 04:50

        С дисплеем - что имеете ввиду?

        не уверен что правильно понял. я открыл схему флиппера посмотрел какой там модуль, на каком контроллере. нашел на ali по названию контроллера + 124x64. Вариантов много, распиновка похожая.

          SMA разъема на край 

        углядел, полагаю эту штуку надо рекламировать сильнее как фичу

        какой-нибудь nRF

        NRF52840 интересен своей опцией NFC что потребует катушку, синий зуб уже есть во флиппере, в принципе nrf52 еще nrf24 эмулировать может, но это в общем то сперва посмотреть что ww55 сумеет в этом плане. А вот esp32 прям любят добавлять к флипперам изза wifi, судя по обзорам


  1. Tsimur_S
    19.09.2024 04:50

    А что вообще с легальным статусом этих устройств в разных странах в последние годы? Не было прецедентов что бы приняли в аэропорту просто за факт обладания?


    1. NutsUnderline
      19.09.2024 04:50
      +8

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


    1. Bluewolf Автор
      19.09.2024 04:50
      +2

      Конкретно Киису - это вообще "отладочная плата", не вижу никаких поводов ей быть нелегальной.


  1. gibson_dev
    19.09.2024 04:50
    +6

    Готов выступить бета тестером девайса/могу купить предсерийный образец)


  1. Soren
    19.09.2024 04:50
    +1

    Тот же функционал: SubGHz, ...

    Что насчет закрытых от общего доступа криптографией чипов Flipper Zero мануфактурников (а заодно и U2F)? Предполагаю, в сравнении с оригинальной прошивкой, в Sub-GHz не будет декодирования Keeloq, а U2F отвалится вовсе?


    1. Bluewolf Автор
      19.09.2024 04:50
      +3

      Мануфактурных ключей нет, что логично. Немодифицированная прошивка на это ругается. Обойти можно и то, и другое :)


    1. pink0D
      19.09.2024 04:50

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


  1. anonymous
    19.09.2024 04:50

    НЛО прилетело и опубликовало эту надпись здесь


  1. dmitriylyalyuev
    19.09.2024 04:50
    +3

    Выпускайте побыстрее. Я бы прикупил себе.


  1. Dark_Purple
    19.09.2024 04:50
    +2

    Трассировку критиковать не буду), интересно сколько оно кушает когда спит?

    LIR2032 имее более чем в два раза меньшую ёмкость в сравнении с CR2032 и напряжение до 4.2V полностью заряженная, могут быть сложности с заменой одного на другое.


    1. Bluewolf Автор
      19.09.2024 04:50
      +3

      А можно бы и покритиковать, всегда полезно)

      По питанию там TPS63020, он buck-boost c входным диапазоном 1.8V to 5.5V, так что с этим ок.

      Когда совсем спит, кушает микроамперы, потому что преобразователь отключен и питание есть только на VRTC. При нажатии кнопки "ОК" преобразователь включается через диод и кнопку, киису загружается, power_en держит включенным второй чип и отпускает через 60 секунд после погасания "подсветки", которой естественно нет.


      1. Dark_Purple
        19.09.2024 04:50
        +5

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

        Тогда это вполне жизнеспособный проект, вы молодцы!


    1. Bluewolf Автор
      19.09.2024 04:50

      Скорее, больше проблем с CR2032, потому что условные пиковые 50 мА в режиме передачи subghz - далеко за рамками штатного тока. Но с хорошим батарейками работает.


      1. LinkToOS
        19.09.2024 04:50

        больше проблем с CR2032, потому что условные пиковые 50 мА в режиме передачи subghz - далеко за рамками штатного тока

        Для этого ставят емкость. Обычная керамика. Можно посмотреть стандартные схемы от ST и TI, для их контроллеров с микропотреблением и питанием от 2032 в устройствах с радиоканалом. Поток данных разбивается на короткие пакеты естественно, если объем данных большой.

        Но акк нужен обязательно. 2032 только как резервный источник для режима ключа. Если основной акк разряжен, устройство должно переходить в режим key-only. Конечно если есть активный ключ который должен гарантированно работать.
        В принципе можно просто сделать два варианта корпуса - с акком и без. Скажем заменяемую нижнюю крышку. Главное чтобы был удобный разъем для подключения акка, и удобное крепление крышки.


  1. Dispcat
    19.09.2024 04:50

    Топчик. В России можно будет купить?


    1. Bluewolf Автор
      19.09.2024 04:50
      +7

      Работаем над этим.


      1. anonymous
        19.09.2024 04:50

        НЛО прилетело и опубликовало эту надпись здесь


  1. madcatdev
    19.09.2024 04:50

    Здорово, но я бы сделал компактнее, может быть даже в виде брелка (такому девайсу место на связке ключей), можно даже без sub-ghz трансивера.


  1. aol985
    19.09.2024 04:50

    shut up and take my money, натурально! корпус к этому планируется какой-то или потребители вольны в экспериментах?


    1. Dmitry_Dor
      19.09.2024 04:50
      +1

      корпус к этому планируется какой-то

      Уже был ответ на такой же вопрос (с картинкой под спойлером)


  1. logiciel
    19.09.2024 04:50
    +1

    Я уже собралась поздравить с удачным названием и сообщить, что kiisu - это "кошечка" по-эстонски! А оказывается, так и было задумано :)))