>_ DevTrendsit

Lingua

Home

Linguaggi

Sezioni

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embedded Sicurezza
C-plus-plus

Come costruire un multi-tool tascabile per segnali radio e NFC da soli

FlopperZiro Logo

Un Flipper Zero completo costa ormai una cifra significativa, e per semplici esperimenti con cancelli di casa, telecomandi IR e tag di accesso, spesso si desidera qualcosa di più aperto e più facile da riparare. L'autore del progetto FlopperZiro con username lraton ha guardato questa situazione con ironia, chiamando la sua creatura una "orribile copia in inglese rotto", ma in realtà ha costruito un prototipo funzionante di un multi-tool autonomo utilizzando schede facilmente reperibili dalla Cina.

FlopperZiro Profile

Cosa può fare questo gadget fai-da-te

Il dispositivo gestisce un set base di attività per esplorare i protocolli radio e interagire con le periferiche. Il firmware ha già quattro moduli principali funzionanti:

  • Intercettazione e riproduzione a 433 MHz. Il ricevitore RXB12 cattura i segnali dai telecomandi dei cancelli o da semplici relè, il firmware salva i dump sulla scheda di memoria e li ritrasmette tramite il trasmettitore FS1000A.
  • Porta a infrarossi. Il ricevitore e il LED IR lavorano insieme, quindi il dispositivo legge i comandi dai telecomandi di casa per TV o condizionatori, li salva in file e li riproduce premendo un pulsante.
  • NFC e RFID con il chip PN532. Il dispositivo può leggere gli UID standard di tag e schede, emulare target e inviare pacchetti APDU. Il supporto ISO14443-B è ancora in programma, ma per test di funzionalità semplici è sufficiente.
  • Emulazione tastiera BadUSB. Il microcontrollore si finge un dispositivo HID ed esegue script in formato Rubber Ducky direttamente dalla scheda di memoria.

Include anche un browser di file per navigare la MicroSD, un indicatore di carica della batteria e un modulo di controllo del display.

Cosa c'è dentro questo dispositivo

Il principale vantaggio di FlopperZiro rispetto a progetti complessi che utilizzano chip specializzati è la disponibilità dei componenti radio. Tutti i componenti possono essere facilmente ordinati da marketplace o trovati in una scatola di vecchi moduli Arduino:

  • Microcontrollore: scheda STM32-L432KC
  • Display: OLED monocromatico SSD1306 con risoluzione 128x64 pixel
  • Moduli radio: trasmettitore FS1000A e ricevitore supereterodina RXB12 a 433 MHz
  • Modulo NFC: popolare controller PN532
  • Archiviazione: classico shield TF MicroSD Card
  • Alimentazione: scheda di ricarica TP4056 con convertitore step-up a 5V e batteria LiPo 3.7V
  • Controlli: sei pulsanti tattili e un transistor 2N2222A per l'amplificazione del LED IR

Il case può essere stampato in 3D su una stampante FDM standard. L'autore ha condiviso un modello 3D pronto su Printables che ospita strettamente entrambe le revisioni PCB e la batteria.

FlopperZiro Front

FlopperZiro Back

Insidie e sfumature del firmware

Il codebase è scritto in C++ per l'IDE Arduino. Questo abbassa notevolmente la soglia di ingresso se hai bisogno di scrivere un tuo plugin o modificare un protocollo specifico per un cancello esotico.

Ma la semplicità ha uno svantaggio. Ad esempio, l'autore onestamente avverte di un bug divertente: subito dopo aver caricato un nuovo sketch attraverso l'ambiente Arduino, lo schermo del dispositivo potrebbe rimanere spento. Il problema risiede nei timing del reset hardware del display SSD1306. La soluzione è aprire il monitor seriale nell'IDE, che avvia un riavvio software corretto tramite USB.

Chi beneficerà di questo progetto

FlopperZiro non pretende di essere un analizzatore di segnali radio di livello laboratorio. Il trasmettitore FS1000A ha una portata modesta, e l'antenna è solo un pezzo di filo. Tuttavia, è un eccellente terreno di allenamento per studenti e sviluppatori che vogliono capire come funzionano SPI, I2C, la lettura di pacchetti raw sub-GHz e i protocolli delle smart card senza spendere soldi extra.

Gli schemi e il codice sorgente sono disponibili nel repository GitHub del progetto sotto licenza GPL-3.0. Per costruirlo sono richieste solo competenze base di saldatura e l'IDE Arduino installato.

Progetti correlati