
Обратно спроектированная плата интерфейса батареи I2C/SMBus для DJI Spark, заменяющая оригинальную умную батарею на стандартный 3S LiPo. Включает анализ протокола, пользовательскую PCB и прошивку ATmega328P для эмуляции связи в реальном времени.
Плата интерфейса и телеметрии аккумулятора для платформы DJI Spark, созданная для исследовательских целей. Использует стандартный LiPo-аккумулятор 3S вместо снятого с производства и труднодоступного оригинального интеллектуального аккумулятора.
В этом проекте документируется обратно разработанный интерфейс связи I2C/SMBus с интеллектуальным аккумулятором, изначально созданный для изучения того, как полётный контроллер DJI Spark общается с аккумуляторной батареей. Плата устанавливается между стандартным аккумулятором 3S и дроном, считывает реальные напряжения элементов и ток, а затем воспроизводит этот интерфейс связи.
Docs/I2C_BMS_PROTOCOL.md.Firmware/README.md.
| Сверху | Снизу | Топология |
|---|---|---|
![]() | ![]() | ![]() |
Firmware/README.md, почему ESP32 здесь не подходит).Docs/SparkAltBatteryBoardV1.pdfMechanical/batterymount.stpРевизия ПП была подготовлена как производственно-ориентированный проект KiCad, а не только как концептуальная схема.
При проектировании учитывались следующие аспекты:
Проект PlatformIO, нацеленный на ATmega328P (распиновка Arduino Uno/Nano). Реализует логику ведомого I2C, чтение АЦП, вычисление CRC-8 PEC и ответы на все команды SBS/DJI.
pio run -e uno
pio run -e uno -t upload
Полная распиновка, таблица поддерживаемых команд и известные ограничения: Firmware/README.md.
Необработанные захваты логического анализатора, использованные для декодирования протокола, включены для справки:
На видео ниже показан более ранний прототип, протестированный около 4 лет назад. Оно не представляет полевой тест переработанной ревизии ПП из этого репозитория.
Это любительский проект по обратной разработке, опубликованный в образовательных целях. Полёты с модифицированным аккумулятором/BMS выполняются на свой страх и риск — перед полётом самостоятельно проверяйте напряжения элементов, токовые ограничения и соединения. Проект не связан с DJI и не одобрен компанией.
Исходный прототип был испытан в полёте в прошлом. Переработанная ревизия ПП в этом репозитории ещё не была испытана в полёте, так как оригинальный тестовый дрон позже был повреждён в аварии.
Исходный код доступен для личного, образовательного и исследовательского использования. Коммерческое использование запрещено без письменного разрешения. См. LICENSE (MIT с оговоркой Commons Clause).
| Папка | Содержимое |
|---|
Hardware/ | Проект KiCad: схемы, топология печатной платы, 3D-модели разъёмов, файлы Gerber, спецификация |
Firmware/ | Проект PlatformIO для эмулятора аккумулятора по I2C/SMBus на ATmega328P |
Mechanical/ | 3D-модель крепления аккумулятора (STEP) |
Docs/ | PDF-схема, заметки по обратной разработке протокола, необработанные сессии I2C, справочные фото/видео |