[Flipper Zero] відмовляємось від Raspberry Pi, робимо власну плату з нуля. Пошук правильного WiFi чіпа

[Flipper Zero] відмовляємось від Raspberry Pi, робимо власну плату з нуля. Пошук правильного WiFi чіпа

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

Багато всього сталося з першого посту про фліппер. Ми старанно працювали весь цей час і проект зазнав радикальних змін. Головна новина в тому, що ми вирішили повністю відмовитись від Raspberry Pi Zero і робити свою плату з нуля на базі чіпа i.MX6. Це значно ускладнює розробку та повністю змінює всю концепцію, але я впевнений, що воно того варте.

Також ми досі не знайшли правильний WiFi чіпсет, який підтримує всі необхідні функції для WiFi-атак, при цьому підтримує діапазон 5Ghz і не застарів на 15 років. Тому я запрошую всіх взяти участь у нашому дослідженні.

У статті я розповім, чому ми ухвалили таке рішення, на якому етапі знаходиться проект, поточні завдання та як можна взяти участь.

Чим поганий Raspberry Pi Zero

[Flipper Zero] відмовляємось від Raspberry Pi, робимо власну плату з нуля. Пошук правильного WiFi чіпа
Я особисто люблю Raspberry Pi, але в процесі розробки виявилося, що він просмоктує з багатьох причин. Найбанальніша — його тупо не можна купити. Навіть великі дистриб'ютори мають не більше кількох сотень штук rpi0, а магазини на кшталт Adafruit і Sparkfun продають не більше 1 штуки в руки. Так, є кілька заводів, які виробляють RPI0 за ліцензією від Raspberry Pi Foundation, але вони теж не можуть відвантажити партії по 3-5 тисяч штук. Це так, що rpi0 продається за ціною на межі собівартості і більше спрямований на популяризацію платформи.

Ось основні причини відмови від rpi0

  • Неможливо купити у великій кількості. Заводи на зразок Farnell пропонують купувати Compute Module. Китайці з Alibaba брешуть про наявність великих обсягів, коли мова заходить про реальну партію зливаються. Усім, хто писатиме, що ми погано шукали, спробуйте домовитися з кимось про покупку 5 тисяч штук, так щоб вам вислали рахунок на оплату.
  • Мало інтерфейсів.
  • Старий процесор BCM2835, який використовувався ще першої версії rpi. Гарячий і не дуже енергоефективний.
  • Немає керування харчуванням, не можна відправити плату в сон.
  • Застарілий вбудований WiFi.
  • та багато інших причин.

Сама Raspberry Pi Foundation для таких завдань пропонує використати RPi Compute Module. Це платня у формфакторі SO-DIMM модуля (як оперативна пам'ять у ноутбуках), яка вставляється у материнську плату. Цей варіант не підходить, оскільки сильно збільшує розміри пристрою.
[Flipper Zero] відмовляємось від Raspberry Pi, робимо власну плату з нуля. Пошук правильного WiFi чіпа
Raspberry Pi Compute Module - плата у формфакторі SO-DIMM модуля для встановлення у свій пристрій

Тоді ми почали дивитися на різні SoM-и (System on Module), найпривабливіше виглядали модулі на основі i.MX6. Всі наші пошуки описані у темі на форумі Raspberry Pi Zero Alternatives. Але треба мати на увазі, що не всі компанії будуть готові з вами працювати за обсягів навіть 3-5 тисяч штук на рік. Наприклад, ізраїльська Variscite просто перестала відповідати нам, коли дізналася про плановані обсяги закупівель. Зважаючи на все, їм не цікаво тільки продавати SoM без додаткових послуг у вигляді підтримки та інтеграції. Окремо хочу відзначити російського розробника Starterkit.ru, які роблять дуже цікаві пристрої, як SK-iMX6ULL-NANO. Їх майже неможливо нагуглити, і я б не дізнався про їхнє існування, якби не розповіли знайомі.

У результаті порівнявши всі варіанти і прикинувши економіку, ми прийняли важке рішення робити свій SoM з нуля спеціально для Фліппера на основі чіпа i.MX6 ULZ. Це одноядерний Cortex-A7 із частотою 900 MHz з майже такою самою продуктивністю як rpi0, при цьому він майже холодний під навантаженням, тоді як rpi0 розжарюється як піч.
Роблячи свою плату з нуля, у нас з'явилася повна свобода розміщення елементів на платі, через що ми розраховуємо отримати більш компактний пристрій. i.MX6 ULZ це урізана версія i.MX6 ULL без деяких інтерфейсів та відеоядра, тому для розробки ми використовуємо девборду MCIMX6ULL-EVK з чіпом i.MX6 ULL, просто не використовуючи частину інтерфейсів. Ця плата, до речі, підтримується mainline ядром linux, тому завантажується на ній Kali Linux з ядром з пакетів.

Ось як виглядає фліппер без одягу в даний момент:
[Flipper Zero] відмовляємось від Raspberry Pi, робимо власну плату з нуля. Пошук правильного WiFi чіпа

Правильний WiFi

Зламування WiFi одна з головних фіч Фліппера, тому вкрай важливо вибрати правильний WiFi-чіпсет, який підтримуватиме всі потрібні функції: ін'єкцію пакетів і моніторний режим. При цьому вміти діапазон 5GHz та сучасні стандарти на кшталт 802.11ac. На жаль, таких чіпів відразу знайти не вдалося
[Flipper Zero] відмовляємось від Raspberry Pi, робимо власну плату з нуля. Пошук правильного WiFi чіпа
Китайський модуль SiP (system in package) Apmak AP6255 на базі BCM43456

Зараз ми розглядаємо кілька кандидатів, але всі з них вимагають допилювання і поки що невідомо який краще вибрати. Тому я дуже прошу всіх, хто розуміється на похеку WiFi, приєднатися до нашого пошуку тут: Wi-Fi чіп з SPI/SDIO interface, що supports monitoring and packet injection

Основні кандидати:

Будь ласка, перш ніж радити щось, уважно прочитайте вимоги на форумі, в тому числі інтерфейс підключення. Пам'ятайте, що я кілька місяців уважно вивчаю цю тему і вже перелопатив усе, що можна знайти.

Що вже готове

[Flipper Zero] відмовляємось від Raspberry Pi, робимо власну плату з нуля. Пошук правильного WiFi чіпа

Вся частина, за яку відповідає STM32, вже працює: 433Mhz, iButton, читання-емуляція 125kHz.
Механічна частина, кнопки, корпус, роз'єми, компонування зараз в активній розробці, на відео та фотографіях нижче застарілий корпус, у нових версіях джойстик буде більшим.

На відео проста демонстрація відкриття шлагбауму за допомогою реплея сигналу пульта.

FAQ

Як купити?

Імовірно, краудфандингову кампанію на Кікстартері запустимо в квітні-травні цього року. Готові пристрої сподіваємося надіслати за півроку після завершення збору. Якщо вам цікавий прилад, прошу вас залишити свою пошту внизу сайту, передплатникам ми надсилатимемо пропозиції, коли будуть готові прототипи та ранні семпли на продаж.

Це законно?

Це інструмент дослідження. Усі його компоненти можна придбати окремо у магазині. Якщо вбудувати WiFi адаптер і 433MHz трансмітер в невеликий корпус і додати туди екран, він не стане від цього більш незаконним. Пристрій не підпадає під визначення спец. засоби або приладу для негласного збирання інформації. Незаконним може бути ТІЛЬКИ його використання з метою завдання шкоди або для незаконних дій. Інакше кажучи, я можу робити ножі будь-якої форми та з будь-якого металу, відповідальність за використання моїх ножів лежить на вас.

Як задонатити?

[Flipper Zero] відмовляємось від Raspberry Pi, робимо власну плату з нуля. Пошук правильного WiFi чіпаНа даний момент ви можете підтримати мене особисто невеликими пожертвами на їжу через Patreon. Регулярні пожертвування у вигляді 1$ набагато кращі, ніж велика сума за раз, тому що дозволяють прогнозувати наперед.

[Flipper Zero] відмовляємось від Raspberry Pi, робимо власну плату з нуля. Пошук правильного WiFi чіпа Усі нотатки щодо проекту я публікую у свій Telegram-канал @zhovner_hub.

Джерело: habr.com

Додати коментар або відгук