Przekształcanie taniej płytki ESP32 w Flipper Zero
Flipper Zero pozostaje jednym z najbardziej pożądanych gadżetów dla entuzjastów, laboratoriów badawczych i miłośników protokołów bezprzewodowych. Jednak nie każdy chce wydać na niego ponad 20 000 rubli. Szczególnie jeśli potrzebujesz urządzenia tylko na weekendowy projekt lub do przetestowania swojego routera.
Deweloper Sor3nt podszedł do tego z innej strony. Przeniósł cały system operacyjny Flipper Zero na popularne i niedrogie mikrokontrolery ESP32. Projekt nosi nazwę Flipper-Zero-ESP32-Port i pozwala uzyskać znajomy interfejs, usługi i aplikacje na sprzęcie kosztującym zaledwie kilka tysięcy rubli.

Słowo na temat bezpieczeństwa na początek
W społeczności projektu niedawno wydarzył się nieprzyjemny incydent. W internecie pojawiło się nieoficjalne firmware o nazwie „L15Dev" lub „Bitwire". Ta niestandardowa kompilacja zawierała wirusa i backdoor, który kradnie zapisane hasła i zrzuty danych Wi-Fi.
Jeśli zdecydujesz się wypróbować projekt, wgrywaj oprogramowanie wyłącznie z oficjalnego repozytorium autora lub jego przeglądarkowego narzędzia do flashowania. Żadnych binariów zewnętrznych firm z wątpliwych kanałów Telegram.
Wymagania sprzętowe
Uruchomienie systemu na „gołym" kontrolerze bez ekranu nie zadziała, ponieważ projekt wymaga wyświetlacza i elementów sterujących. Firmware działa najlepiej na gotowych płytach deweloperskich:
- LilyGo T-Embed CC1101 (oparty na ESP32-S3). Najlepsza dostępna obecnie opcja. Oferuje wyświetlacz 320×170, enkoder, moduł radiowy CC1101, złącza dla czytnika NFC (PN532) oraz gniazdo MicroSD.
- Waveshare ESP32-C6-LCD (wersje 1,9 i 1,47 cala). Tańsza opcja oparta na chipie RISC-V z ekranem dotykowym.
- Konstrukcje DIY z użyciem ESP32-S3 z wyświetlaczem ILI9XXX i zwykłymi przyciskami.
Płytka Waveshare C6 z ekranem 1,47 cala ma istotne zastrzeżenie. Ma tylko 512 KB pamięci RAM na pokładzie bez żadnej zewnętrznej pamięci PSRAM. System po prostu nie ma wystarczającej ilości RAM-u na ciężkie zadania. Może nadal skanować punkty dostępowe, ale przechwytywanie uzgadniania WPA powoduje awarię z błędem ESP_ERR_NO_MEM. Weź to pod uwagę przed zakupem.

Jakie możliwości zostały przeniesione
Autor dołożył starań, aby zachować oryginalne natywne oprogramowanie, dostosowując je do peryferiów ESP32.
Audyt Wi-Fi i ataki
W oryginalnym Flipperze Wi-Fi jest dostępne tylko przez zewnętrzny moduł. Tutaj kanał radiowy mikrokontrolera jest wykorzystywany w pełni:
- Skanowanie sieci, pomiar siły sygnału i wyświetlanie szczegółów uwierzytelniania.
- Przechwytywanie uzgadniania WPA/WPA2/WPA3 i zapisywanie ich do plików PCAP.
- Wysyłanie pakietów deautoryzacji (Deauther).
- Spamowanie fałszywych SSID (Beacon Spam) z obsługą niestandardowych list słów.
- Evil Portal do konfigurowania phishingowych punktów dostępowych. Port dodaje funkcję mostka NAPT. Ofiara łączy się z fałszywym punktem dostępowym, wprowadza hasło na stronie logowania, a urządzenie przekierowuje ją do prawdziwego internetu, aby uniknąć podejrzeń.
Tryb Mesh / Buddy został sprytnie zaimplementowany. Jeśli masz kilka tanich płytek ESP32 bez obudów, możesz wgrać na nie specjalne firmware z folderu buddy_firmware i połączyć je z główną płytką przez protokół ESP-NOW. Moduły pomocnicze działają jako autonomiczne skanery: pasywnie przechwytują uzgadniania z powietrza, zapisują je we własnej pamięci i przesyłają do głównej płytki, gdy ta pojawi się w sieci.
Praca z radiem i NFC
Po podłączeniu modułów CC1101 i PN532 urządzenie zamienia się w klasyczne narzędzie do wywiadu sygnałowego:
- Sub-1 GHz: Odbiór i nadawanie na częstotliwościach 433–868 MHz, zapisywanie surowych zrzutów
.sub, analizator widma i generator ataków brute-force ze słowników. Miły bonus — dekoder czujników ciśnienia opon (TPMS). - NFC: Odczytywanie, zapisywanie i emulacja kart, ataki słownikowe na Mifare Classic i Ultralight, wbudowane parsery kart komunikacji miejskiej.
- Bluetooth: Spamowanie pakietów usługowych (BLE Spam) dla iOS, Android i Windows, emulacja AirTag (FindMy) oraz działanie jako bezprzewodowa klawiatura lub mysz (HID).
- Port IR: Nauka sygnałów z pilotów, wbudowana baza danych uniwersalnych pilotów do telewizorów, klimatyzatorów i innych urządzeń.
Dodatkowo port zawiera BadUSB (uruchamianie skryptów Ducky z pendrive'a), menedżer plików, silnik skryptowy JS, a nawet port kultowego DOOM-a.
Jak to działa pod maską
Przeniesienie firmware napisanego dla konkretnego mikrokontrolera STM32 na architektury Xtensa i RISC-V to zadanie niebanalne. Developer przyjął podejście polegające na zachowaniu oryginalnej architektury Furi OS w możliwie największym stopniu:
- System operacyjny: Furi OS działa na szczycie FreeRTOS. Autor zachował cały oryginalny system wątków, muteksów, kolejek wiadomości i magistrali zdarzeń.
- Warstwa abstrakcji sprzętowej (HAL): Wywołania wyjściowe STM32 zostały przepisane dla sterowników ESP-IDF. Na przykład wywołania renderowania wyświetlacza działają przez
esp_lcd, port IR jest obsługiwany przez moduł RMT, a Bluetooth używa stosu Bluedroid. - Adaptacja grafiki: Oryginalny interfejs Flipper Zero jest zaprojektowany dla monochromatycznego ekranu 128×64. Firmware renderuje obraz do wewnętrznego bufora ramek, następnie skaluje go dwukrotnie i konwertuje do koloru RGB565 do wyjścia na matrycę TFT.
- Sprytny trik pamięciowy: W STM32 sterta jest domyślnie wypełniana zerami przy alokacji pamięci przez
malloc. W ESP32 zawiera śmieci. Z tego powodu wiele aplikacji Flipper ulegało awarii z błędami. Problem został rozwiązany przez proste przemapowanie: funkcjamallocw porcie została na stałe powiązana zcalloc.
Jest też ograniczenie, którego jeszcze nie obejściu. Port nie ma dostępu do sprzętowego modułu kryptograficznego (Flipper Enclave). Z tego powodu zaszyfrowane bazy danych Keeloq dla Sub-1 GHz nie mogą być odszyfrowane — nie można ich podszyć. Działa tylko otwarty algorytm keeloq_mfcodes_user.
Jak wypróbować
Kompilacja firmware ze źródeł wymaga zainstalowanego ESP-IDF v5.4.1. Dla Windows repozytorium zawiera wygodny skrypt winbuild.py, który zajmuje się całą konfiguracją środowiska i procedurą flashowania.
Ale jeśli nie chcesz kompilować kodu, najłatwiejszą opcją jest web flasher:
- Otwórz online flashera w Chrome lub Edge.
- Podłącz płytkę przez USB i naciśnij przycisk Flash.
- Pobierz archiwum
sdcard.zipz wydań projektu, rozpakuj je na kartę SD sformatowaną jako FAT32 i włóż ją do płytki.
Podsumowanie
Sor3nt dostarczył projekt inżynieryjny wysokiej jakości. To nie jest próba rysowania podobnych ikon na ekranie ESP32 — to pełny port systemu operacyjnego z zachowaną architekturą aplikacji.
Czy to pełna alternatywa dla Flipper Zero? Jeśli potrzebujesz gotowego, niezniszczalnego urządzenia „out of the box" w ładnej obudowie — prawdopodobnie nie. Ale jeśli chcesz eksperymentować ze spektrum radiowym, zbudować przenośny tester Wi-Fi w rozsądnej cenie lub poznać wnętrzności Furi OS, LilyGo T-Embed z tym firmware to doskonały wybór.
Powiązane projekty