
Reverse-engineerte I2C/SMBus-Akkuschnittstellenplatine für die DJI Spark, die den OEM-Smartakku durch einen Standard-3S-LiPo ersetzt. Enthält Protokollanalyse, kundenspezifische Platine und ATmega328P-Firmware für die Echtzeit-Kommunikationsemulation.
Ein kundenspezifisches, forschungsorientiertes Batterie-Schnittstellen- und Telemetrie-Board für die DJI Spark-Plattform, das um einen standardmäßigen 3S LiPo-Akku herum aufgebaut ist, anstelle des eingestellten, schwer zu findenden OEM Smart Battery.
Dieses Projekt dokumentiert eine reverse-engineerte I2C/SMBus Smart-Battery-Kommunikationsschnittstelle, die ursprünglich entwickelt wurde, um zu untersuchen, wie der DJI Spark-Flugcontroller mit seinem Akkupack kommuniziert. Das Board sitzt zwischen einem standardmäßigen 3S-Akku und der Drohne, liest die tatsächlichen Zellspannungen und den Strom aus und reproduziert diese Kommunikationsschnittstelle.
Docs/I2C_BMS_PROTOCOL.md.Firmware/README.md für die vollständige Protokollimplementierung.
| Oben | Unten | Layout |
|---|---|---|
![]() | ![]() | ![]() |
Firmware/README.md für Gründe, warum ein ESP32 hier nicht funktioniert).Docs/SparkAltBatteryBoardV1.pdfMechanical/batterymount.stpDie PCB-Revision wurde als fertigungsorientiertes KiCad-Projekt erstellt, nicht nur als Proof-of-Concept-Schaltplan.
Designtüberlegungen umfassen:
PlatformIO-Projekt für den ATmega328P (Arduino Uno/Nano Pinbelegung). Behandelt die I2C-Slave-Logik, ADC-Auslesungen, CRC-8-PEC-Berechnung und alle SBS/DJI-Befehlsantworten.
pio run -e uno
pio run -e uno -t upload
Vollständige Pinbelegung, unterstützte Befehlstabelle und bekannte Einschränkungen: Firmware/README.md.
Die rohen Logic-Analyzer-Aufnahmen, die zur Dekodierung des Protokolls verwendet wurden, sind als Referenz enthalten:
Docs/sniffedsession2.csvDocs/sniffedsession3.csvDocs/I2C_BMS_PROTOCOL.mdDas folgende Video zeigt einen früheren Prototypen, der vor etwa 4 Jahren getestet wurde. Es stellt keinen Flugtest der neu gestalteten PCB-Revision in diesem Repository dar.
Dies ist ein Hobby-Reverse-Engineering-Projekt, das zu Bildungszwecken geteilt wird. Das Fliegen mit einem modifizierten Akku/BMS erfolgt auf eigenes Risiko — überprüfen Sie Zellspannungen, Stromgrenzen und Verkabelung selbst vor dem Flug. Nicht mit DJI verbunden oder von DJI unterstützt.
Der ursprüngliche Prototyp wurde in der Vergangenheit fluggetestet. Die neu gestaltete PCB-Revision in diesem Repository wurde noch nicht fluggetestet, da die ursprüngliche Testdrohne später bei einem Absturz beschädigt wurde.
Quellcode verfügbar für persönliche, Bildungs- und Forschungszwecke. Kommerzielle Nutzung ist ohne schriftliche Genehmigung nicht gestattet. Siehe LICENSE (MIT mit Commons Clause).
| Ordner | Inhalt |
|---|
Hardware/ | KiCad-Projekt: Schaltpläne, PCB-Layout, 3D-Steckermodelle, Gerberdaten, Stückliste (BOM) |
Firmware/ | PlatformIO-Projekt für den ATmega328P I2C/SMBus-Akkuemulator |
Mechanical/ | 3D-Modell der Akkuhalterung (STEP) |
Docs/ | Schaltplan-PDF, Protokoll-Reverse-Engineering-Notizen, rohe abgehörte I2C-Sitzungen, Referenzfotos/-video |