<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<font size="4" face="Comic Sans MS">I mostly like the DJI batteries
in my Phantom 3s. They snap into the drone body and you can turn
the power on and off with a button sequence. They can be set to
auto discharge which is a great safety feature. The batteries
communicate with the drones main controller board and hence the
battery charge is shown on your tablet on the ground which you
view the camera feed on. It all works well enough. So what's
the problem?<br>
<br>
DJI is highly proprietary. The protocol the battery circuit board
uses to communicate with the main board don't follow any
standards, well it follows DJI standards. This makes it so if you
want to replace the main controller with a third party </font><font
size="4" face="Comic Sans MS">board the battery can't talk to the
new board, also you can't use third party batteries on stock DJI
machines. I was hoping someone would have created some code for
an Arduino where it would sit between known protocols and DJI
protocols and would make it all just work, but that apparently
isn't in the cards. It is surprisingly complex. <br>
<a
href="https://github.com/samuelsadok/dji_protocol?tab=readme-ov-file"
class="moz-txt-link-freetext">https://github.com/samuelsadok/dji_protocol?tab=readme-ov-file</a><br>
<br>
Well it is beyond what I can figure out in any reasonable amount
of time (12 monkeys with type writers...). If I put another board
in one of my Phantoms I will use standard batteries and add on
boards to read power, all readily available. This technology
stuff sure changes faster and faster. <br>
<br>
</font>
<div class="moz-signature">-- <br>
<img src="cid:part1.lkIXCzFq.3brgb10z@comcast.net" border="0"></div>
</body>
</html>