<!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>