Zo bouw je zelf een zakelijke multi-tool voor radiosignalen en NFC
Een volwaardige Flipper Zero kost tegenwoordig flink wat geld, en voor eenvoudige experimenten met poortbomen, IR-afstandsbedieningen en toegangskaarten wil je vaak iets dat opener en makkelijker te repareren is. De auteur van het FlopperZiro-project met de gebruikersnaam lraton keek met ironie naar deze situatie en noemde zijn creatie een "verschrikkelijke kopie in gebroken Engels," maar bouwde in werkelijkheid een werkend prototype van een autonome multi-tool met behulp van standaard verkrijgbare borden uit China.
Wat dit DIY-apparaat kan doen
Het apparaat verwerkt een basisreeks taken voor het verkennen van radioprotocollen en het communiceren met randapparatuur. De firmware heeft inmiddels vier hoofdmodules werkend:
- 433 MHz onderscheppen en herhalen. De RXB12-ontvanger vangt signalen op van poortbedieningen of eenvoudige relais, de firmware slaat dumps op de geheugenkaart op en verzendt ze terug via de FS1000A-zender.
- Infraroodpoort. De ontvanger en IR-LED werken samen, zodat het apparaat commando's leest van afstandsbedieningen voor tv's of airconditioners, ze naar bestanden opslaat en ze met één druk op de knop opnieuw afspeelt.
- NFC en RFID met de PN532-chip. Het apparaat kan standaard tag- en kaart-UID's lezen, doelen emuleren en APDU-pakketten verzenden. ISO14443-B-ondersteuning staat nog op de roadmap, maar voor eenvoudige functionaliteitstests is het voldoende.
- BadUSB-toetsenbordemulatie. De microcontroller doet alsof hij een HID-apparaat is en voert Rubber Ducky-formaat scripts rechtstreeks vanaf de geheugenkaart uit.
Het draait ook een bestandsbrowser voor navigatie op de MicroSD, een batterij-oplaadindicator en een displaybesturingsmodule.
Wat er in dit apparaat zit
Het grote voordeel van FlopperZiro ten opzichte van complexe projecten met gespecialiseerde chips is de beschikbaarheid van radio-onderdelen. Alle onderdelen kunnen gemakkelijk worden besteld via marktplaatsen of gevonden worden in een doos met oude Arduino-modules:
- Microcontroller: STM32-L432KC-bord
- Display: monochroom OLED SSD1306 met 128x64 pixel resolutie
- Radio-modules: FS1000A-zender en superheet-ontvanger RXB12 op 433 MHz
- NFC-module: populaire PN532-controller
- Opslag: standaard TF MicroSD Card Shield
- Stroomvoorziening: TP4056-laadbord met step-up converter naar 5V en 3.7V LiPo-batterij
- Bediening: zes tactiele knoppen en een 2N22A-transistor voor IR-LED-versterking
De behuizing kan worden ge3D-print op een standaard FDM-printer. De auteur deelde een kant-en-klare 3D-model op Printables dat strak past bij beide PCB-revisies en de batterij.
Valkuilen en firmware-nuances
De codebase is geschreven in C++ voor de Arduino IDE. Dit verlaagt de instapdrempel aanzienlijk als je je eigen plugin moet schrijven of een specifiek protocol moet aanpassen voor een exotische poort.
Maar eenvoud heeft een keerzijde. De auteur waarschuwt bijvoorbeeld eerlijk voor een grappige bug: direct na het uploaden van een nieuwe sketch via de Arduino-omgeving kan het scherm van het apparaat donker blijven. Het probleem ligt in de hardware-reset-timings van het SSD1306-display. De oplossing is het openen van de seriële monitor in de IDE, wat een correcte softwarereset via USB initieert.
Wie heeft baat bij dit project
FlopperZiro beweert niet een laboratorium-grade radiosignaalanalyzer te zijn. De FS1000A-zender heeft een bescheiden bereik en de antenne is slechts een stukje draad. Desondanks is het een uitstekende oefenplaats voor studenten en ontwikkelaars die willen begrijpen hoe SPI, I2C, sub-GHz raw packet reading en smartcard-protocollen werken zonder extra geld uit te geven.
Schema's en broncode zijn beschikbaar in de GitHub-repository van het project onder de GPL-3.0-licentie. Bouwen vereist alleen basis lasvaardigheden en de Arduino IDE geïnstalleerd.
Gerelateerde projecten