Transformer une carte ESP32 bon marché en Flipper Zero
Le Flipper Zero reste l'un des gadgets les plus convoités par les geeks, les laboratoires de recherche et les passionnés de protocoles sans fil. Cependant, tout le monde n'est pas prêt à dépenser plus de 20 000 roubles pour l'obtenir. Surtout si vous n'avez besoin de l'appareil que pour un projet du week-end ou pour stress-tester votre routeur.
Le développeur Sor3nt a abordé cette question sous un angle différent. Il a porté l'ensemble du système d'exploitation du Flipper Zero sur des microcontrôleurs ESP32 populaires et peu coûteux. Le projet s'appelle Flipper-Zero-ESP32-Port et vous permet d'obtenir l'interface familière, les services et les applications sur du matériel coûtant juste quelques milliers de roubles.

Un mot sur la sécurité d'abord
Un incident désagréable s'est récemment produit dans la communauté du projet. Un micrologiciel tiers appelé "L15Dev" ou "Bitwire" est apparu en ligne. Cette build personnalisée contenait un virus et une backdoor qui vole les mots de passe Wi-Fi sauvegardés et les dumps.
Si vous décidez d'essayer le projet, flashez uniquement via le dépôt officiel de l'auteur ou son web-flasher en ligne. Pas de binaires tiers provenant de chaînes Telegram douteuses.
Configuration matérielle requise
Exécuter le système sur un contrôleur "nu" sans écran ne fonctionnera pas, car le projet nécessite un écran et des commandes. Le micrologiciel fonctionne mieux sur des cartes de développement prêtes à l'emploi :
- LilyGo T-Embed CC1101 (basé sur l'ESP32-S3). La meilleure option disponible aujourd'hui. Elle dispose d'un écran 320×170, d'un encodeur, d'un module radio CC1101, de connecteurs pour un lecteur NFC (PN532) et d'un slot MicroSD.
- Waveshare ESP32-C6-LCD (versions 1,9 et 1,47 pouces). Une option moins chère basée sur la puce RISC-V avec un écran tactile.
- Constructions DIY utilisant ESP32-S3 avec un écran ILI9XXX et des boutons ordinaires.
La carte Waveshare C6 avec un écran de 1,47 pouces présente une mise en garde importante. Elle ne dispose que de 512 Ko de RAM embarquée sans PSRAM externe. Le système n'a tout simplement pas assez de RAM pour les tâches lourdes. Elle peut toujours scanner les points d'accès, mais la capture de handshake WPA plante avec l'erreur ESP_ERR_NO_MEM. Gardez cela à l'esprit avant d'acheter.

Quelles fonctionnalités ont été portées
L'auteur s'est efforcé de préserver le logiciel natif original, en l'adaptant aux périphériques ESP32.
Audit Wi-Fi et attaques
Dans le Flipper original, le Wi-Fi n'est disponible que via un module externe. Ici, le canal radio du microcontrôleur est utilisé à son plein potentiel :
- Balayage des réseaux, mesure de la force du signal et affichage des détails d'authentification.
- Capture des handshakes WPA/WPA2/WPA3 et sauvegarde au format PCAP.
- Envoi de paquets de désauthentification (Deauther).
- Spam de faux SSID (Beacon Spam) avec support des wordlists personnalisées.
- Evil Portal pour configurer des points d'accès phishing. Le port ajoute une fonction de pont NAPT. La victime se connecte au faux point d'accès, entre son mot de passe sur la page de connexion, et l'appareil la bridge vers le vrai Internet pour éviter les soupçons.
Le mode Mesh / Buddy est implémenté de manière intelligente. Si vous avez quelques cartes ESP32 bon marché sans boîtier, vous pouvez les flasher avec un micrologiciel spécial depuis le dossier buddy_firmware et les lier à la carte principale via le protocole ESP-NOW. Les modules auxiliaires fonctionnent comme des scanners autonomes : ils capturent passivement les handshakes de l'air, les sauvegardent dans leur propre mémoire et les transmettent à la carte principale lorsqu'elle se connecte.
Travail avec la radio et le NFC
Avec les modules CC1101 et PN532 connectés, l'appareil se transforme en un outil classique de renseignement sur les signaux :
- Sub-1 GHz : Réception et transmission sur les fréquences 433–868 MHz, sauvegarde des dumps bruts
.sub, analyseur de spectre et générateur d'attaque par force brute par dictionnaire. Un bonus appréciable — décodeur pour les capteurs de pression des pneus (TPMS). - NFC : Lecture, écriture et émulation de cartes, attaques par dictionnaire sur Mifare Classic et Ultralight, parseurs intégrés pour les cartes de transport.
- Bluetooth : Spam de paquets de service (BLE Spam) pour iOS, Android et Windows, émulation AirTag (FindMy) et fonctionnement comme clavier ou souris sans fil (HID).
- Port IR : Apprentissage des signaux des télécommandes, base de données intégrée de télécommandes universelles pour les TV, climatiseurs et autres appareils.
De plus, le port inclut BadUSB (exécution de scripts Ducky depuis une clé USB), un gestionnaire de fichiers, un moteur de scripting JS et même un port du classique culte DOOM.
Comment ça fonctionne en interne
Porter un micrologiciel écrit pour un microcontrôleur STM32 spécifique vers les architectures Xtensa et RISC-V est une tâche non triviale. Le développeur a adopté l'approche de préserver autant que possible l'architecture originale de Furi OS :
- Système d'exploitation : Furi OS s'exécute au-dessus de FreeRTOS. L'auteur a préservé l'ensemble du système original de threads, mutexes, files de messages et bus d'événements.
- Couche d'abstraction matérielle (HAL) : Les appels de sortie STM32 ont été réécrits pour les pilotes ESP-IDF. Par exemple, les appels de rendu d'affichage fonctionnent via
esp_lcd, le port IR est géré par le module RMT et le Bluetooth utilise la pile Bluedroid. - Adaptation graphique : L'interface originale du Flipper Zero est conçue pour un écran monochrome 128×64. Le micrologiciel rend l'image dans un frame buffer interne, puis l'agrandit par deux et la convertit en couleur RGB565 pour la sortie vers la matrice TFT.
- Astuce intelligente pour la mémoire : Dans STM32, le heap est rempli de zéros par défaut lors de l'allocation de mémoire via
malloc. Dans ESP32, il contient des données aléatoires. De ce fait, de nombreuses applications Flipper plantaient avec des erreurs. Le problème a été résolu avec une simple redéfinition : la fonctionmallocdans le port a été liée en dur àcalloc.
Il existe également une limitation qui n'a pas encore été contournée. Le port n'a pas accès au module cryptographique matériel (Flipper Enclave). De ce fait, les bases de données Keeloq chiffrées pour Sub-1 GHz ne peuvent pas être déchiffrées — elles ne peuvent pas être usurpées. Seul l'algorithme ouvert keeloq_mfcodes_user fonctionne.
Comment l'essayer
La compilation du micrologiciel depuis les sources nécessite ESP-IDF v5.4.1 installé. Pour Windows, le dépôt contient un script pratique winbuild.py qui gère toute la configuration de l'environnement et la routine de flash.
Mais si vous ne voulez pas compiler de code, le web flasher est l'option la plus simple :
- Ouvrez le flasher en ligne dans Chrome ou Edge.
- Connectez la carte via USB et appuyez sur le bouton Flash.
- Téléchargez l'archive
sdcard.zipdepuis les releases du projet, extrayez-la sur la carte SD formatée en FAT32 et insérez-la dans la carte.
En conclusion
Sor3nt a livré un projet d'ingénierie de qualité. Ce n'est pas simplement une tentative de dessiner des icônes similaires sur un écran ESP32 — c'est un port complet du système d'exploitation avec l'architecture applicative préservée.
Est-ce un remplacement complet du Flipper Zero ? Si vous avez besoin d'un appareil prêt à l'emploi, indestructible "out of the box" dans un beau boîtier — probablement pas. Mais si vous voulez expérimenter avec le spectre radio, construire un testeur Wi-Fi portable pour un prix raisonnable, ou étudier les rouages internes de Furi OS, le LilyGo T-Embed avec ce micrologiciel est un excellent choix.
Projets similaires