
DJI Spark용 I2C/SMBus 배터리 인터페이스 보드의 리버스 엔지니어링으로, OEM 스마트 배터리를 표준 3S LiPo로 대체합니다. 프로토콜 분석, 맞춤형 PCB, 실시간 통신 에뮬레이션을 위한 ATmega328P 펌웨어가 포함됩니다.
DJI Spark 플랫폼용 맞춤형 연구 중심 배터리 인터페이스 및 텔레메트리 보드로, 단종되어 구하기 어려운 OEM 스마트 배터리 대신 표준 3S LiPo 배터리 팩을 기반으로 합니다.
이 프로젝트는 역설계된 I2C/SMBus 스마트 배터리 통신 인터페이스를 문서화하며, 원래 DJI Spark 비행 컨트롤러가 배터리 팩과 통신하는 방식을 연구하기 위해 개발되었습니다. 보드는 표준 3S 팩과 드론 사이에 위치하여 실제 셀 전압과 전류를 읽고 해당 통신 인터페이스를 재현합니다.
Docs/I2C_BMS_PROTOCOL.md 참조.Firmware/README.md를 참조하세요.
| 상단 | 하단 | 레이아웃 |
|---|---|---|
![]() | ![]() | ![]() |
Firmware/README.md 참조).Docs/SparkAltBatteryBoardV1.pdfMechanical/batterymount.stpPCB 리비전은 개념 증명 회로도뿐만 아니라 제조 중심의 KiCad 프로젝트로 준비되었습니다.
설계 고려 사항은 다음과 같습니다.
PlatformIO 프로젝트로 ATmega328P(Arduino Uno/Nano 핀아웃)를 대상으로 합니다. I2C 슬레이브 로직, ADC 읽기, CRC-8 PEC 계산 및 모든 SBS/DJI 명령 응답을 처리합니다.
pio run -e uno
pio run -e uno -t upload
전체 핀 맵, 지원 명령 테이블 및 알려진 제한 사항: Firmware/README.md.
프로토콜을 디코딩하는 데 사용된 원시 로직 분석기 캡처가 참조용으로 포함되어 있습니다:
아래 비디오는 약 4년 전에 테스트된 초기 프로토타입을 보여줍니다. 이 저장소의 재설계된 PCB 리비전의 비행 테스트를 나타내지는 않습니다.
이것은 교육 목적으로 공유되는 취미 역설계 프로젝트입니다. 수정된 배터리/BMS를 사용하여 비행하는 것은 본인의 책임입니다 — 비행 전에 셀 전압, 전류 제한 및 배선을 직접 확인하십시오. DJI와 제휴하거나 보증하지 않습니다.
원래 프로토타입은 과거에 비행 테스트를 거쳤습니다. 이 저장소의 재설계된 PCB 리비전은 아직 비행 테스트를 거치지 않았습니다. 원래 테스트 드론이 나중에 충돌로 손상되었기 때문입니다.
소스는 개인, 교육 및 연구 목적으로 사용 가능합니다. 서면 허가 없이 상업적 사용은 허용되지 않습니다. LICENSE 참조 (Commons Clause가 포함된 MIT).
| 폴더 | 내용 |
|---|
Hardware/ | KiCad 프로젝트: 회로도, PCB 레이아웃, 3D 커넥터 모델, Gerber 파일, BOM |
Firmware/ | ATmega328P I2C/SMBus 배터리 에뮬레이터용 PlatformIO 프로젝트 |
Mechanical/ | 배터리 마운트 3D 모델 (STEP) |
Docs/ | 회로도 PDF, 프로토콜 역설계 노트, 원시 스니핑 I2C 세션, 참조 사진/동영상 |