Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
SparkAltBatteryBoard — Placa de interfaz de batería I2C/SMBus con ingeniería inversa para DJI Spark, que reemplaza la batería inteligente OEM por una LiPo 3S estándar. Incluye análisis de protocolo, PCB personalizada y firmware ATmega328P para emulación de comunicación en tiempo real. | Kitploit
Herramientas/GitHubGitHub/fahreddinaykut/sparkaltbatteryboard
Seguridad de Sistemas EmbebidosIngeniería InversaHacking de HardwareSeguridad de HardwareAprendizaje y EducaciónAnálisis de Firmware
GitHubfahreddinaykut/sparkaltbatteryboard

SparkAltBatteryBoard

Placa de interfaz de batería I2C/SMBus con ingeniería inversa para DJI Spark, que reemplaza la batería inteligente OEM por una LiPo 3S estándar. Incluye análisis de protocolo, PCB personalizada y firmware ATmega328P para emulación de comunicación en tiempo real.

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
Ver Repositorio
1427hace 2 mesesAún no revisado

SparkAltBatteryBoard

Una placa personalizada de interfaz de batería y telemetría orientada a la investigación para la plataforma DJI Spark, construida alrededor de un paquete de baterías LiPo 3S estándar en lugar de la batería inteligente OEM descontinuada y difícil de encontrar.

Este proyecto documenta una interfaz de comunicación de batería inteligente I2C/SMBus sometida a ingeniería inversa, desarrollada originalmente para estudiar cómo el controlador de vuelo del DJI Spark se comunica con su paquete de baterías. La placa se sitúa entre un paquete 3S estándar y el dron, lee los voltajes y corrientes reales de las celdas, y reproduce esa interfaz de comunicación.

DJI Spark volando con SparkAltBatteryBoard

Cómo funciona

  1. La batería inteligente original del DJI Spark fue desmontada y se capturó su tráfico I2C/SMBus con el controlador de vuelo utilizando un Analizador Lógico Saleae.
  2. Ese tráfico fue decodificado para recuperar el conjunto de comandos SBS + propietarios de DJI (apretón de manos de autenticación, voltajes de celdas, PEC/CRC-8, etc.) — consulte Docs/I2C_BMS_PROTOCOL.md.
  3. Una PCB personalizada replica el factor de forma y el conector de la batería OEM, con divisores de resistencia para la detección de voltaje por celda y un amplificador de derivación de corriente INA199.
  4. Un ATmega328P en la placa reproduce la interfaz de comunicación de la Batería Inteligente a través de I2C en tiempo real — calculando PEC sobre la marcha y estirando el reloj cuando sea necesario. Consulte Firmware/README.md para la implementación completa del protocolo.

Batería original del DJI Spark, desmontada para ingeniería inversa

Estructura del repositorio

Hardware

SuperiorInferiorDiseño
PCB top 3DPCB bottom 3DPCB layout
  • MCU: ATmega328P — elegido específicamente porque su periférico TWI de hardware admite el estiramiento de reloj I2C de manera confiable, lo que requiere el sondeo del FC del DJI (consulte Firmware/README.md para saber por qué un ESP32 no funciona aquí).
  • Detección: red de divisores de resistencia de 3 vías para tomas de voltaje por celda, amplificador de derivación INA199 para la corriente del paquete.
  • Esquemático completo: Docs/SparkAltBatteryBoardV1.pdf
  • Salidas de fabricación: BOM · Gerbers
  • Soporte de batería: Mechanical/batterymount.stp

Notas de Diseño/Fabricación de PCB

La revisión de la PCB fue preparada como un proyecto KiCad orientado a la fabricación, no solo como un esquemático de prueba de concepto.

Las consideraciones de diseño incluyen:

  • Estructura de esquemático jerárquica
  • Bloques separados de MCU, alimentación, detección y conector
  • Interfaz lógica I2C/SMBus de 3.3 V
  • Entradas de detección de voltaje de celda escaladas por ADC
  • Filtrado RC en líneas de medición analógicas
  • Frontend de detección de corriente de lado alto INA199
  • Enfoque de enrutamiento de medición de derivación estilo Kelvin
  • Carril del sistema de 3.3 V regulado por convertidor reductor
  • Resistencias de pull-up I2C
  • Protección ESD/TVS en líneas de comunicación externas
  • Cabecera de programación/depuración ICSP AVR
  • Estrategia de enrutamiento/polígonos de cobre amplios para la trayectoria de corriente de la batería
  • Salidas de fabricación preparadas: BOM y paquete Gerber

Firmware

Proyecto PlatformIO dirigido al ATmega328P (distribución de pines Arduino Uno/Nano). Maneja la lógica esclava I2C, lecturas ADC, cálculo CRC-8 PEC y todas las respuestas de comandos SBS/DJI.

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

Mapa de pines completo, tabla de comandos soportados y limitaciones conocidas: Firmware/README.md.

Ingeniería inversa del protocolo

Las capturas crudas del analizador lógico utilizadas para decodificar el protocolo se incluyen como referencia:

  • Docs/sniffedsession2.csv
  • Docs/sniffedsession3.csv
  • Documentación completa: Docs/I2C_BMS_PROTOCOL.md

Prueba de vuelo del prototipo heredado

El video a continuación muestra un prototipo anterior probado hace aproximadamente 4 años. No representa una prueba de vuelo de la revisión de PCB rediseñada en este repositorio.

Su navegador no puede reproducir el video incrustado — verlo/descargarlo aquí.

Descargo de responsabilidad

Este es un proyecto de ingeniería inversa de aficionado, compartido con fines educativos. Volar con una batería/BMS modificada es bajo su propio riesgo — verifique los voltajes de las celdas, los límites de corriente y el cableado usted mismo antes del vuelo. No está afiliado ni respaldado por DJI.

El prototipo original fue probado en vuelo en el pasado. La revisión de PCB rediseñada en este repositorio aún no ha sido probada en vuelo porque el dron de prueba original fue dañado posteriormente en un accidente.

Licencia

Código fuente disponible para uso personal, educativo y de investigación. No se permite el uso comercial sin permiso por escrito. Consulte LICENSE (MIT con cláusula Commons).

Descargar herramienta
CarpetaContenido
Hardware/Proyecto KiCad: esquemáticos, diseño de PCB, modelos 3D de conectores, Gerbers, BOM
Firmware/Proyecto PlatformIO para el emulador de batería I2C/SMBus ATmega328P
Mechanical/Modelo 3D de soporte de batería (STEP)
Docs/PDF de esquemáticos, notas de ingeniería inversa del protocolo, sesiones I2C capturadas crudas, fotos/video de referencia