
Carte d'interface de batterie I2C/SMBus rétro-conçue pour DJI Spark, remplaçant la batterie intelligente OEM par une LiPo 3S standard. Comprend l'analyse du protocole, un PCB personnalisé et un firmware ATmega328P pour l'émulation de communication en temps réel.
Une carte d'interface et de télémétrie de batterie personnalisée orientée recherche pour la plateforme DJI Spark, construite autour d'une batterie LiPo 3S standard au lieu de la batterie intelligente OEM discontinuée et difficile à trouver.
Ce projet documente une interface de communication I2C/SMBus de batterie intelligente rétro-conçue, initialement développée pour étudier comment le contrôleur de vol DJI Spark communique avec sa batterie. La carte se place entre une batterie 3S standard et le drone, lit les tensions et courants réels des cellules, et reproduit cette interface de communication.
Docs/I2C_BMS_PROTOCOL.md.Firmware/README.md pour l'implémentation complète du protocole.
| Dessus | Dessous | Layout |
|---|---|---|
![]() | ![]() | ![]() |
Firmware/README.md pour savoir pourquoi un ESP32 ne fonctionne pas ici).Docs/SparkAltBatteryBoardV1.pdfMechanical/batterymount.stpLa révision du PCB a été préparée comme un projet KiCad orienté fabrication, pas seulement comme un schéma de preuve de concept.
Les considérations de conception incluent :
Projet PlatformIO ciblant l'ATmega328P (brochage Arduino Uno/Nano). Gère la logique esclave I2C, les lectures ADC, le calcul CRC-8 PEC, et toutes les réponses aux commandes SBS/DJI.
pio run -e uno
pio run -e uno -t upload
Tableau complet des broches, table des commandes supportées et limitations connues : Firmware/README.md.
Les captures brutes de l'analyseur logique utilisées pour décoder le protocole sont incluses pour référence :
Docs/sniffedsession2.csvDocs/sniffedsession3.csvDocs/I2C_BMS_PROTOCOL.mdLa vidéo ci-dessous montre un prototype précédent testé il y a environ 4 ans. Elle ne représente pas un test de vol de la révision PCB redessinée dans ce dépôt.
Ceci est un projet de rétro-ingénierie de hobbyiste, partagé à des fins éducatives. Voler avec une batterie/BMS modifiée est à vos risques et périls — vérifiez vous-même les tensions des cellules, les limites de courant et le câblage avant le vol. Non affilié ni approuvé par DJI.
Le prototype original a été testé en vol par le passé. La révision PCB redessinée dans ce dépôt n'a pas encore été testée en vol car le drone de test original a été endommagé ultérieurement dans un accident.
Code source disponible pour usage personnel, éducatif et de recherche. L'utilisation commerciale n'est pas autorisée sans autorisation écrite. Voir LICENSE (MIT avec Commons Clause).
| Dossier | Contenu |
|---|
Hardware/ | Projet KiCad : schémas, layout PCB, modèles 3D des connecteurs, Gerbers, BOM |
Firmware/ | Projet PlatformIO pour l'émulateur de batterie I2C/SMBus ATmega328P |
Mechanical/ | Modèle 3D du support de batterie (STEP) |
Docs/ | Schéma PDF, notes de rétro-ingénierie du protocole, sessions I2C brutes, photos/vidéos de référence |