Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
SparkAltBatteryBoard — 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. | Kitploit
Outils/GitHubGitHub/fahreddinaykut/sparkaltbatteryboard
Sécurité des Systèmes EmbarquésRétro-ingénierieHacking MatérielSécurité MatérielleApprentissage et ÉducationAnalyse de Micrologiciel
GitHubfahreddinaykut/sparkaltbatteryboard

SparkAltBatteryBoard

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.

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Voir le dépôt
14il y a 1 moisPas encore vérifié

SparkAltBatteryBoard

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.

DJI Spark volant avec SparkAltBatteryBoard

Comment ça marche

  1. La batterie intelligente DJI Spark d'origine a été démontée et son trafic I2C/SMBus avec le contrôleur de vol a été capturé avec un analyseur logique Saleae.
  2. Ce trafic a été décodé pour retrouver le jeu de commandes SBS + propriétaires DJI (authentification, tensions de cellules, PEC/CRC-8, etc.) — voir Docs/I2C_BMS_PROTOCOL.md.
  3. Un PCB personnalisé reproduit le facteur de forme et le connecteur de la batterie OEM, avec des diviseurs résistifs pour la mesure de tension par cellule et un amplificateur shunt INA199 pour le courant.
  4. Un ATmega328P sur la carte reproduit l'interface de communication de la batterie intelligente via I2C en temps réel — calculant le PEC à la volée et étirant l'horloge si nécessaire. Voir Firmware/README.md pour l'implémentation complète du protocole.

Batterie DJI Spark d'origine, démontée pour rétro-ingénierie

Structure du dépôt

Matériel

DessusDessousLayout
Vue dessus PCB 3DVue dessous PCB 3DLayout PCB
  • MCU : ATmega328P — choisi spécifiquement parce que son périphérique TWI matériel supporte l'étirement d'horloge I2C de manière fiable, ce que le polling du contrôleur de vol DJI nécessite (voir Firmware/README.md pour savoir pourquoi un ESP32 ne fonctionne pas ici).
  • Détection : réseau diviseur de tension à 3 voies pour les prises de tension par cellule, amplificateur shunt INA199 pour le courant de la batterie.
  • Schéma complet : Docs/SparkAltBatteryBoardV1.pdf
  • Sorties de fabrication : BOM · Gerbers
  • Support de batterie : Mechanical/batterymount.stp

Conception PCB / Notes de fabrication

La 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 :

  • Structure hiérarchique des schémas
  • Blocs séparés MCU, alimentation, détection et connecteur
  • Interface logique I2C/SMBus 3,3 V
  • Entrées de détection de tension de cellule mises à l'échelle par ADC
  • Filtrage RC sur les lignes de mesure analogiques
  • Front-end de détection de courant côté haut INA199
  • Approche de routage de mesure shunt de type Kelvin
  • Rail système 3,3 V régulé par abaisseur
  • Résistances de pull-up I2C
  • Protection ESD/TVS sur les lignes de communication externes
  • En-tête de programmation/débogage AVR ICSP
  • Stratégie de routage/polygone de cuivre large pour le chemin de courant de la batterie
  • Sorties de fabrication préparées : BOM et package Gerber

Firmware

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.

root@kitploit:~
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.

Rétro-ingénierie du protocole

Les captures brutes de l'analyseur logique utilisées pour décoder le protocole sont incluses pour référence :

  • Docs/sniffedsession2.csv
  • Docs/sniffedsession3.csv
  • Documentation complète : Docs/I2C_BMS_PROTOCOL.md

Test de vol du prototype historique

La 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.

Votre navigateur ne peut pas lire la vidéo intégrée — regardez/téléchargez-la ici.

Avertissement

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.

Licence

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).

Télécharger l’outil
DossierContenu
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