Мне очень понравилась работа команды, создавшей Flipper Zero. Став обладателем этого устройства, в процессе эксплуатации я пришёл к выводу, что оно очень полезно, но, на мой взгляд, недостаточно удобно в эксплуатации ввиду наличия только джойстика для управления этим устройством. Да, можно подключить отдельную плату расширения с нужным количеством кнопок для быстрого набора цифровых данных, но… Очень захотелось, чтобы на одном устройстве было всё максимально удобно для использования, и чтобы это максимальное удобство не занимало много места. Так как я - человек, детство которого прошло во времена Советского Союза, я стал свидетелем вхождения в наш обиход первых мобильных телефонов, тех самых легендарных Motorolа, SonyEricsson, Nokia, и мне очень захотелось создать нечто похожее по функционалу на Flipper Zero, но в то же время напоминающее те самые первые мобильники… Ностальгия, так сказать…
Программированием микропроцессоров я занимаюсь с начала 2000-х годов, со времен своего студенчества, и именно тогда у меня родилась интересная идея – а почему бы не попробовать сделать свой, особенный, телефон, с моим «сердцем» внутри - взять за основу один из тех самых легендарных телефонов и расположить всё то, что я хочу, в нём!
Бороздя просторы Интернета и воскрешая в памяти все эти сейчас уже ставшие легендами первые мобильники, я неоднократно наталкивался на хохмы про телефон Nokia 3310. Как-то на выходных, разобрав пару-тройку полок в своём гараже, я отыскал ЕГО, телефон, который когда-то, в году эдак 2002-ом, а может, и в 2003-м, был самой настоящей гордостью студента!
А почему бы и нет…
После многих раздумий было решено взять за основу решение ESP32-S3. Это было сделано по следующему ряду преимуществ:
двухъядерный микроконтроллер XTensa LX7 MCU, способный работать на частоте 240 МГц.
Wi-Fi + Bluetooth 5 (LE): поддерживает Wi-Fi с частотой 2,4 ГГц (802.11 b/ g/ n) и полосой пропускания 40 МГц. Подсистема Bluetooth с низким энергопотреблением поддерживает большие расстояния благодаря кодированному PHY и расширению. Он также поддерживает более высокую скорость передачи и пропускную способность данных, до 2 Мбит/с. Как Wi-Fi, так и Bluetooth LE обладают превосходной радиочастотной производительностью, которая сохраняется даже при высоких температурах.
оснащен 45 программируемыми портами ввода-вывода и поддерживает богатый набор периферийных устройств (GPIOs, SPI, I2S, I2C, PWM, RMT, ADC and UART, SD/MMC host and TWAITM)
поддерживает более высокоскоростную SPI flash и PSRAM с настраиваемым кэшем данных и команд.
Далее рассматривались дополнительные «обвесы» и в настоящий момент принято решение реализовать следующие возможности:
дисплей будет использоваться от самого телефона, его характеристики: контроллер PCD8544; разрешение экрана: 84 x 48 точек; размеры экрана: 36 х 24 мм; напряжение питания логики: 2,7 – 3,3В; габариты: 43,8 х 43,4 х 13,2 мм;
вторая модификация с 1,3 дюймовым OLED дисплеем;
клавиатура от телефона так же будет использоваться в полном объеме, с возможностью набора текста как в «старые добрые времена»;
аккумулятор BLC-2, за зарядку которого будет отвечать линейное зарядное устройство с терморегуляцией LTC4054-4.2;
разъем для зарядки, обновления ПО и взаимодействие с компьютером Type-C;
поддержка карт формата MicroSD объемом до 32 Гб включительно, с поддержкой файловых систем Fat, Fat32, NTFS;
внутренний инфракрасный приемо-передатчик с функцией обучения, записи и воспроизведения сигналов. Возможности будут расширяться, база стандартизируется;
возможность чтения, записи и эмулирования ключей IButton, RFid (125КГц, 13,56 МГц);
работа с цифровыми сигналами в диапазоне частот 300-928 МГц. Данная функция будет реализована в 2 вариантах: на основе трансивера TI CC1101 и трансивера Si4463;
прошивка с полностью открытым исходным кодом, которая будет регулярно выкладываться на Github с целью возможности расширения функциональности. Изменив код, каждый пользователь сможет написать свои собственные плагины и получить необходимый именно ему функционал и неповторимость, а так же отключить ненужное.
Спустя 2 недели ночных «бдений» было собрано «нечто» и написана первая прошивка:
При отладке с целью увеличения свободных портов ввода-вывода ESP32-S3 было принято решение перевести клавиатуру, модуль IButton, Rfid и ИК приемо-передатчик на отдельный микропроцессор PIC16F1938 посредством I2C.
Спустя еще 1,5 недели трассировки и «впихания невпихуемого», получил:
Первый заказ платы с завода…
Ожидание…
И вот мой первый мультитул…
Неубиваемый «кирпич», а не «пеноблоки» современности, легенда начала 2000-х…
Далее гоняем по функционалу:
Написана функция блокировки устройства на пароль. В функционале ввода информации с клавиатуры реализована возможность ввода текстовых данных как на английском, так и на русском языках. Прорабатываю возможность дополнения словаря дополнительными языками.
В настоящий момент полностью написан код, отвечающий за чтение, копирование и эмулирование Rfid ключей 125 кГц, IButton ключей, работа с ключами диапазона 13,56 мГц находится в отладке.
ИК приемник/передатчик расположен сверху, рядом с кнопкой включения. Работает в режиме чтения/обучения и управления.
Работает функционал мини-Web-сервера, Wi-Fi точки доступа с DHCP.
В тестовом режиме работает Bluetooth 5 (LE).
Я очень хочу, чтобы каждый человек мог выбрать для себя что- то своё, что-то знакомое из прошлого, но в то же время востребованное сегодня и завтра.
По мере продвижения разработки будут регулярно выкладываться новости и текущие Beta-прошивки на Github и Яндекс.Диск.
Комментарии (45)
hphphp
30.09.2023 18:06+6Может немного не по теме, а чем вас так флиппер восхитил? У меня кроме шлагбаумов и домофонов ему, практического применения, так и не нашлось...(
lomovtsevdn Автор
30.09.2023 18:06+9Флипер готовое собранное устройство в одном корпусе с открытым исходным кодом, что дает превосходные возможности, при условии знания программирования.
sneg2015
30.09.2023 18:06+6Это понятно. Но можно реальный пример использования от владельца?
lomovtsevdn Автор
30.09.2023 18:06+21Не так давно был небольшой заказ для отладки радиосвязи между устройствами в дипазоне 433 мГц, на расстоянии около 700 метров, может 1 км (точно не замерял), отладка проходила в полевых условиях, флипер пригодился: есть экран, это +; акб +; но дальше, отсутствует мини клавиатура, в той ситуации минус был огромный, ну ладно. Вытравил мини клавиатуру, дописал код, вроде бы ок, но блин, в России ребята закупают радиомодули что подешевле(hc-12), а они на трансивере Si4463, опять двадцать пять, еду в офис, переделываю доп плату, пишу код, теряю еще 1 день, в результате сделал. А если бы не было флипера под рукой, то я опять с кучей разово изготовленных плат, перемотанные изолентой и висящим экраном на проводах, а так брелока в возможностью закинуть свой код, отладить на stm'ке, просчитать итоговое решение, отредактировать под нужний микрик. Удобство в работе то же нужно.
DarkTiger
30.09.2023 18:06+6А ноут тогда чем не подошел? Казалось бы, пускаем с одного конца алфавит или шахматы, с другого смотрим на ноуте, что получилось, через простейший usb-uart и терминалку...
И, насколько я понял, там не особо сложная схема была. Почему принципиально не подходила breadboard? На висящих проводах и правда неудобно :)Без такого чемоданчика в полях тоскливо, так в офис не наездишься.
lomovtsevdn Автор
30.09.2023 18:06+1Требование заказчика исключало наличие ноутбука... Я был не первым, кто взялся за тот заказ. К сожалению не все готовы сделать именно то, что заказывают...
DarkTiger
30.09.2023 18:06+3Тогда данный пример нельзя назвать типовым, поясняющим необходимость Флиппера. Частный случай, вроде истории про девушку, таскавшую в сумочке гаечный ключ на 13.
lomovtsevdn Автор
30.09.2023 18:06+3Меня просили привести пример, как я лично его использовал, мне было неудобно им пользоваться в виду отсутствия клавиатуры, ни о какой необходимости Флиппера речи не шло
Serge78rus
30.09.2023 18:06+1Требование заказчика исключало наличие ноутбука...
Думается, что @DarkTiger имел ввиду использование ноутбука при отладке прототипа, а не в конечном изделии. Или заказчик и это запретил?
lomovtsevdn Автор
30.09.2023 18:06Запрет заказчика, до моего участия со слов заказчика, приезжал "хакер с ноутбуками", все сделал, а устройства не заработали, деньги взял и исчез...
osmanpasha
30.09.2023 18:06+14Аргумент против ноутбуков, мягко говоря, странный
lomovtsevdn Автор
30.09.2023 18:06+1Это было жесткое требование заказчика, которого до меня кинули, а желание клиента - закон, пришлось выкручиваться с учетом требований, а Флиппер был под рукой, в итоге все остались довольны.
Serge78rus
30.09.2023 18:06+11То есть, если бы заказчика кинул человек в кепке, то требования к следующему исполнителю было бы носить ушанку?
ZiggiPop
30.09.2023 18:06+11"Заказывал услуги плотника, приехал человек с ножовкой и молотком, ничего не сделал, на бабки кинул. Теперь требование к другим плотникам — никаких ножовок и молотков"
DarkTiger
30.09.2023 18:06Аргумент далеко не типовый, но и из ряда вон его тоже назвать нельзя. Поля - они такие, там всякие люди встречаются, живое общение с народом и все такое. Это нас в офисе охраняют от подобных заказчиков те самые мальчики в костюмах на выезде, которых мы так не любим
xakep2011
30.09.2023 18:06+2Bluetooth-пульт уже неоднократно пригодился и для презентаций, и в формате Media, как пульт для музыки с ноута. Там же, на презентации, скопировал радиосигналы разворачивания экрана для проектора, но это скорее just for fun.
Есть режим USB-накопителя, с отдельно создаваемым образом для этой цели, тоже уже использовался по назначению.
ИК-пульт много раз выручал с кондиционерами/телеками/колонками пульты от которых постоянно не под рукой. В душной кафешке пару раз себе включал (с разрешения работников, разумеется).
Восстановил повреждённый ключ от домофона, соединив вручную катушку и перенеся данные на новую болванку.
bolk
30.09.2023 18:06Я снял данные от ключей родственников, теперь просто захожу в подъезд и иду в квартиру (я всегда заранее звоню, конечно, что к такому-то времени приду в гости). Однажды забыл рабочую карточку дома и открывал в офисе двери Флиппером (он у меня в рюкзаке лежит всегда).
NeoCode
30.09.2023 18:06+1Отличная идея! Предполагаю, что в торце корпуса будет универсальный порт, к которому уже будут подключаться сменные адаптеры для различных проводных протоколов - например того же iButton (как ключа так и считывателя)?
lomovtsevdn Автор
30.09.2023 18:06+3IButton
Разьемы ввода-вывода, питание 3,3 и 5 вольт, согласованы логические уровни 3,3 и 5 вольт
Weron2
30.09.2023 18:06+3Очень круто! Помню что флиппер от идеи до прототипа пиарился тут на хабре наверное с год точно. А манюня вот уже сразу, практически)
iShkval
30.09.2023 18:06+3Кстати автоугонщики делают из 3310 заводилки-ретрансляторы. Но при этом сохраняется функционал телефона, интересно бы было посмотреть как это реализовали.
osmanpasha
30.09.2023 18:06Это восхитительно!
Можете рассказать, как на плате сделаны кнопки от клавиатуры? Я как-то интересовался, как в домашних условиях делать платы для мембранных кнопок, вроде просто голые пады долго не работают, а в коммерческих девайсах их золотят или ещё чем-то покрывают, причем даже обычное иммерсионное золото не подходит, т.к. слишком тонкий слой для постоянного механического воздействия
lomovtsevdn Автор
30.09.2023 18:06+1Благодарю, плата 4-ех слойная, с золочением. Переходы с кнопок межслойные. Плату изготавливал завод по чертежам, до этого была груда мелких платок на проводах.
MaFrance351
30.09.2023 18:06О, кстати. А плёнка для клавиатуры с оригинального телефона, или новую нашли?
lomovtsevdn Автор
30.09.2023 18:06+3Плата подгонялась под готовую клавиатуру, дисплей, кнопку включения, корпус. Был убран разьем сим-карты (заменен на порты ввода-вывода), нижняя пластиковая вставка напечатана на 3d принтере (под разьем type-c и разьем для контактных ключей IButton), вехняя резинка заменена на пластик (сейчас серый, завтра отпечатаю прозрачным, рядом с кнопкой расположен ИК приемо-передатчик). В остальном оригинал, включая спикер и вибромотор.
drauger
30.09.2023 18:06На 3310 / 3330 кнопки выведены на пятаки. У меня получилось подпаяться и использовать родную клавиатуру. Кстати, к экрану так тоже можно подключиться. Главная проблема - уместить все допы в отсек аккумулятора.
id_potassium_chloride
30.09.2023 18:06+3Ещё когда Флиппер только выходил, у меня появлялось желание сделать что-то типа такого устройства: со своим набором датчиков и более удобным управлением. Сейчас у меня девайс в стиле звуковой отвёртки Доктора Кто (тоже с ESP32, кстати), штука полезная, но функционал маловат и схемотехника плохая (не радиоинженер я всё-таки). Проекту плюсую, буду следить за обновлениями
arider77
30.09.2023 18:06Приятно читать статьи от профессионалов своего дела, а не просто копирайтеров или тех кто по верхам нахватался!
Проект просто зачёт! Автор молодец. Побольше должно быть таких статей на Хабре!
misha55robby
30.09.2023 18:06+1Голосую за Моторолу рейзер в 3. Я думаю это всё таки был флагман целого поколения
FVVSHARK
30.09.2023 18:06Валяется без дела 3310, есть свободные платы, чтоб пачку с завода не заказывать?
vaxxabait
30.09.2023 18:06В 3310 затолкали и Lora в дополнение к - https://www.mastrogippo.it/2018/07/1337-3310-wifi-hardware-design/. Но с E63 с Lora чатится поудобнее будет - https://github.com/TrevorAttema/OTGMessenger
SUNsung
Хоть бы ссылку на гитхаб..
lomovtsevdn Автор
Сейчас вношу очень большую доработку, на следующей неделе будет все выложено, стыдно с глюками выкладывать...