Мне очень понравилась работа команды, создавшей 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 и Яндекс.Диск.
Автор:
lomovtsevdn