Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
SparkAltBatteryBoard — Scheda di interfaccia batteria I2C/SMBus reverse-engineered per DJI Spark, che sostituisce la batteria intelligente OEM con una LiPo 3S standard. Include analisi del protocollo, PCB personalizzato e firmware ATmega328P per l'emulazione della comunicazione in tempo reale. | Kitploit
Strumenti/GitHubGitHub/fahreddinaykut/sparkaltbatteryboard
Sicurezza Sistemi EmbeddedReverse EngineeringHacking HardwareSicurezza HardwareApprendimento e FormazioneAnalisi del Firmware
GitHubfahreddinaykut/sparkaltbatteryboard

SparkAltBatteryBoard

Scheda di interfaccia batteria I2C/SMBus reverse-engineered per DJI Spark, che sostituisce la batteria intelligente OEM con una LiPo 3S standard. Include analisi del protocollo, PCB personalizzato e firmware ATmega328P per l'emulazione della comunicazione in tempo reale.

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Vedi Repository
1411 mese faNon ancora revisionato

SparkAltBatteryBoard

Una scheda di interfaccia e telemetria per batteria personalizzata orientata alla ricerca per la piattaforma DJI Spark, costruita attorno a un pacco batteria LiPo standard 3S invece della batteria intelligente OEM, fuori produzione e difficile da trovare.

Questo progetto documenta un'interfaccia di comunicazione per batteria intelligente I2C/SMBus reverse-engineered, originariamente sviluppata per studiare come il controller di volo DJI Spark comunica con il suo pacco batteria. La scheda si inserisce tra un pacco standard 3S e il drone, legge le tensioni reali delle celle e la corrente, e riproduce quell'interfaccia di comunicazione.

DJI Spark in volo con SparkAltBatteryBoard

Come funziona

  1. La batteria intelligente originale DJI Spark è stata smontata e il suo traffico I2C/SMBus con il controller di volo è stato catturato con un Saleae Logic Analyzer.
  2. Il traffico è stato decodificato per recuperare il set di comandi SBS + proprietari DJI (handshake di autenticazione, tensioni delle celle, PEC/CRC-8, ecc.) — vedi Docs/I2C_BMS_PROTOCOL.md.
  3. Un PCB personalizzato replica il fattore di forma e il connettore della batteria OEM, con divisori resistivi per il rilevamento della tensione per cella e un amplificatore di shunt di corrente INA199.
  4. Un ATmega328P sulla scheda riproduce l'interfaccia di comunicazione della batteria intelligente tramite I2C in tempo reale — calcolando il PEC al volo e allungando il clock dove necessario. Vedi Firmware/README.md per l'implementazione completa del protocollo.

Batteria originale DJI Spark, smontata per il reverse engineering

Struttura del repository

Hardware

SuperioreInferioreLayout
PCB top 3DPCB bottom 3DPCB layout
  • MCU: ATmega328P — scelto specificamente perché la sua periferica TWI hardware supporta in modo affidabile lo stretching del clock I2C, richiesto dal polling del DJI FC (vedi Firmware/README.md per spiegare perché un ESP32 non funziona qui).
  • Rilevamento: rete di divisori resistivi a 3 vie per i prelievi di tensione per cella, amplificatore di shunt INA199 per la corrente del pacco.
  • Schema completo: Docs/SparkAltBatteryBoardV1.pdf
  • Output di fabbricazione: BOM · Gerbers
  • Supporto batteria: Mechanical/batterymount.stp

Note sul design e sulla produzione del PCB

La revisione del PCB è stata preparata come progetto KiCad orientato alla produzione, non solo come schema proof-of-concept.

Le considerazioni di progettazione includono:

  • Struttura schematica gerarchica
  • Blocchi separati per MCU, alimentazione, rilevamento e connettori
  • Interfaccia logica I2C/SMBus a 3,3 V
  • Ingressi di rilevamento tensione cella scalati per ADC
  • Filtraggio RC sulle linee di misura analogiche
  • Front-end di rilevamento corrente high-side INA199
  • Approccio di routing di misura shunt in stile Kelvin
  • Rail di sistema a 3,3 V regolato da convertitore buck
  • Resistenze di pull-up I2C
  • Protezione ESD/TVS sulle linee di comunicazione esterne
  • Header di programmazione/debug AVR ICSP
  • Strategia di routing/ polygon in rame largo per il percorso della corrente della batteria
  • Output di produzione preparati: BOM e pacchetto Gerber

Firmware

Progetto PlatformIO mirato all'ATmega328P (pinout Arduino Uno/Nano). Gestisce la logica slave I2C, le letture ADC, il calcolo del CRC-8 PEC e tutte le risposte ai comandi SBS/DJI.

root@kitploit:~
pio run -e uno
pio run -e uno -t upload

Mappa completa dei pin, tabella dei comandi supportati e limitazioni note: Firmware/README.md.

Reverse engineering del protocollo

Le catture grezze dell'analizzatore logico utilizzate per decodificare il protocollo sono incluse come riferimento:

  • Docs/sniffedsession2.csv
  • Docs/sniffedsession3.csv
  • Articolo completo: Docs/I2C_BMS_PROTOCOL.md

Test di volo del prototipo precedente

Il video qui sotto mostra un prototipo precedente testato circa 4 anni fa. Non rappresenta un test di volo della revisione del PCB riprogettata in questo repository.

Il tuo browser non può riprodurre il video incorporato — guardalo/scaricalo qui.

Dichiarazione di esclusione di responsabilità

Questo è un progetto di reverse engineering amatoriale, condiviso a scopo educativo. Volare con una batteria/BMS modificata è a proprio rischio — verificare personalmente le tensioni delle celle, i limiti di corrente e il cablaggio prima del volo. Non affiliato o approvato da DJI.

Il prototipo originale è stato testato in volo in passato. La revisione del PCB riprogettata in questo repository non è stata ancora testata in volo perché il drone di test originale è stato successivamente danneggiato in un incidente.

Licenza

Codice sorgente disponibile per uso personale, educativo e di ricerca. L'uso commerciale non è consentito senza autorizzazione scritta. Vedi LICENSE (MIT con Commons Clause).

Scarica lo strumento
CartellaContenuto
Hardware/Progetto KiCad: schemi, layout PCB, modelli 3D dei connettori, Gerber, BOM
Firmware/Progetto PlatformIO per l'emulatore di batteria I2C/SMBus ATmega328P
Mechanical/Modello 3D del supporto batteria (STEP)
Docs/PDF dello schema, note sul reverse engineering del protocollo, sessioni I2C grezze intercettate, foto/video di riferimento