How To Run Alternative Batteries On The DJI Mavic Mini

Rechargeable batteries are ubiquitous these days, freeing us from the expense and hassle of using disposable cells. However, this has come with the caveat that many manufacturers demand their equipment only be used with their own official batteries. [aeropic] wasn’t a fan of this, so built a circuit to allow his DJI Mavic Mini to fly with any batteries he pleased.

The Mavic Mini uses I2C to communicate with official packs, making the hack relatively straightforward. [aeropic] built a board nicknamed B0B, which tells the drone what it wants to hear and lets it boot up with unofficial batteries installed. The circuit uses a PIC12F1840 to speak to the drone, including reporting voltage on the cells installed. Notably, it only monitors the whole pack, before dividing the voltage to represent the value of individual cells, but it shouldn’t be a major problem in typical use. Combined with a few 3D printed components to hold everything together, it allows you to build your own cheap pack for the Mavic Mini with little more than a PCB and a few 18650 cells.

It’s always good to see hackers getting out and doing the bread and butter work to get around restrictive factory DRM measures, whether its on music, printer cartridges, or drone batteries. We’ve even seen the scourge appear on litter boxes, too. Video after the break.

39 thoughts on “How To Run Alternative Batteries On The DJI Mavic Mini

  1. “It’s always good to see hackers getting out and doing the bread and butter work to get around restrictive factory DRM measures, whether its on music, printer cartridges, or drone batteries.”

    Because nothing bad will come of user-supplied batteries. The equivalent of cutting the seat belt buzzer wire.

    1. I think a closer comparison would be replacing a faulty occupant detection sensor for seatbelts with a homebrew replacement. This isn’t a direct attempt to circumvent safety equipment.

      1. There is no temperature monitoring or overdischarge cutout in this B0B board so at least two safety measures are missing.

        All of this annoying battery DRM tech isn’t only about maximising profit. Manufacturers don’t like it when their product grenades itself on the news because somebody used a counterfeit battery pack that has no protection circuitry.

        1. You must have flown with a DJI product that came down with otherwise a battery would explode? I have never needed that protection…. you? Also, with all the restrictions in place, an exploding drone does no harm ;-)

        2. I agree that this is inferior to the original product. Any hacked product should improve on the original or cut out irrelevant features. My thinking was more that this isn’t directly attempting to circumvent a safety feature the owner finds annoying. There is room for improvement, but this felt like a proof of concept hack to me.

          1. It doesn’t require expensive proprietary batteries, thus lowering the cost of batteries.

            How is that not a quality of life improvement? Not everyone has hundreds of dollars to spare

          1. No to both. Buying eBays finest isn’t going to give you the best quality batteries.

            The B0B article tells you to manually monitor the battery voltage and never let it drop under 6.5V or you damage it. The drone will keep running. It is why they recommend a specific firmware version as it displays the battery stats on the main screen. Battery protection chips are cheap and simple to integrate so would be an easy addition to the B0B board.

            High current discharge will also rapidly heat up the pack.

        3. Li-on is much less likely to gernade than LIPO. Bricking is very likely.

          I find it very short-sighted when a pack doesn’t have Over/Under/Temp protection. And too many BMS publish voltages that are beyond the over/under specs of the batteries. And I can’t findy any that have long-life voltages levels, like 4.1 VDC and 2.9 VDC, or user selectable. Availalbe for large packs, like 13S, 13S, etc., but don’t seem to be around for 2S or 3S.

    2. It runs on 18650 batteries, they’re far more common than you may think. It’s easy to get high quality cells for cheap. They jack the price up 3 or 4 times the actual cost of the cells.

      1. Thing is while 18650 cells come in one shape and size, the internals can vary dramatically…the good brands can consistently deliver 3+Ah AND 10C continuous discharge capability, but they won’t be $2 a pop. Or even $4.

        1. Yes, but still cheaper and more powerful than 45 Euro original battery. DJIs batteries are 4 times more expensive, than should be. They are quite crappy ones (they have high internal resistance, thus that high heating when you are flying).

    3. There’s a philosophical argument to be had here.

      Is it upon DJI to restrict users from taking risks? If a user knows enough to do this sort of hack, it suggests they know enough to understand the risks involved. Consider Apple’s anti-repair mechanisms and locked-down OS, which are commonly justified as being there to keep users from breaking anything. There’s a LOT of legal precedent that clearly absolves the manufacturer of liability if a user modification causes a failure, so it’s not a matter of the manufacturer protecting themselves from the consumer but rather the manufacturer protecting the consumer from themselves.

      Personally, I side with the Right to Repair school of thought, in that if I can’t take it apart and try to repair something that fails I don’t actually own it. I can repair (or at least attempt to) everything I own, now including my quadcopter thanks to this bit of help bypassing the DRM so I can use an existing battery instead of paying a fortune for an off-the-shelf replacement.

      In the end, though, this feels like a common thing with Hack-a-Day comments: Solid opposition to any kind of hack. Why bother with a hack when you can just buy it? Hacking is dangerous, just buy a new one! For people like you, people who oppose hacking, I suggest leaving Hack-a-Day and finding a news site dedicated to Apple products and why you should only buy official Apple products and buy new ones every year instead of repairing or upgrading them yourself.

        1. Actually, regular Li-ion batteries have a higher energy density than LiPo. The discharge rate is lower though which is why LiPos are usually found on quads. But if your quad is not so power hungry it’s beneficial to use Li-ion.

    1. It’s a pair of 18650s on the Mavic Mini (except in Japan IIRC). The pack also manages automatic discharge to a storage voltage if not used for a period of time, as well as various other monitoring functions.

  2. This is a good thing. I had two mavic mini batteries fail in the first month. They do indeed contain 18650s and if DJI would simply opensource the code/safety circuits that would help. But, but if you buy legit 18650s (it takes two) you will save a ton compared to DJI batteries. I also have a Mavic Pro but have been slowly moving to bigger or at least redundant DIY drones. The mavic series has no redundancies, only four props and can easily fall out of the sky. Granted they are well engineered, but without better telemetry/systems they are always one part away from failing. Also quality 18650s do not die unexpectedly or explode like lithium poly pouch cells. I really dislike how DJI can force firmware upgrades, prevent you from loading your own or even remotely bricking it if they want. Plus who knows where my data is going? I will probably always have a Mavic or similar but really with the money invested in a drone I am going for something with redundant systems, more props and cheap reparability.

  3. A battery is a key safety relevant component.

    Missing features like temperature control (especially for batteries getting cold in Winter) is a no go. Not speaking about missing reliability tests.

    It’s absolutely okay to use 3rd party batteries for things like digital cameras but don’t buy cheap ebay stuff or DIYs for your drones.

    1. DJI didn’t warn my son about flying in the cold, and his Mavic 2 Pro is bricked, because he flew it in the cold. It appears to have messed up the firmware, and we haven’t been able to reload it.

  4. How I wish something like this was available for the Sony Aibo robot dog. Sony discontinued the DRM-protected batteries, so as the last of the 20-year-old batteries die, so does the robot. How wasteful and selfish.

    1. Time to do some reversing while the battery is still alive i would say… If you need a cheap logic analyzer search for “24 mhz 8 channel” on you favourite chinese selling plattform und download Sigrok (FLOSS).

    2. You can replace the cells in the ERS 210 through 311 series without much issue. The ERS 7 can also be swapped but they increased security. You must solder jumper leads so that during the entire swap the BMS never sees a loss of cells. The BMS permanently disables itself if it does. They claim it is for safety, but that’s a lie. Also, you can flash the BMS to fix it if you find the right software out there.
      I used to repair AiBos and their batteries. I’ve not done so in about 12 years or so now, and only somewhere on one of my old backup HDDs in storage would be my copy of such software. No idea if those drives even work anymore. That said, don’t give up!
      I stopped with AiBo when I realized that the gears and such would all eventually fail. Especially the cheap straight cut ones in the sevens. I got a Dasatech Genibo SD with the hurculex servos which was incredible hardware compared to the AiBo but the software was literally useless.

  5. Aside of the concerns raised above (safety, high drain, high danger) my aside is that it takes the voltage and divides it by two… rendering measuring a batteries voltage pointless imo. I hope he balance charges them first. Apart from that massive kudos for having a go and designing pubs and circuitry most people would be proud of. Well done !

  6. Hi all, thanks for having posted this, it’s fun to see some comments considering we’re in hackaday ;-)
    Most answers can be found in the webpage linked in first page or the readme file you can find too from my page.

    Safety first of course, please don’t do this if you don’t know what you do. The batteries of the mini are indeed LiIon ones Samsung NCR18650 cells.
    The mini does not drain too much amps. Continuously an average of 6A and peaks lower than 15A.
    Of course the cells must be charged from a balancer changer B0B is not a BMS.

    The DJI batts are protected by a TI chip from the BZ40zxxx family. This chip for safety/programmed obsolescence reasons looks itself permanently when an unbalanced voltage is found. And there is no way besides costly HW and hacked software to reset the chip. This makes changing the cells very difficult and this I don’t like ;-)

    1. Do you mean the BQ40Z?

      I don’t see a problem to just use the same chip and get (almost) the same feature set like the original battery.

      For the lock issue, you could try the “0x0029 PermanentFail Data Reset”

      may I ask why you choose the PIC in the first place? Why not directly use the all-in-one TI Chip? You can then set the Permanent Fail feature set by your own….

    2. Since the controller locks itself away when it finds unbalanced cells, shouldn’t it be possible to replace the cells like this:
      -in parallel to the existing cells connect two fully charged new cells in series. this will not change the balance.
      -then connect the balance-cable to the center of the new 2S as well. If the old ones are balanced then the new ones will not change this when they are equally charged.
      -then disconnect the old 2s (balance-cable first of course).
      Shouldn’t this always keep the balance? Is this thinking too naive? Or are there further safety mechanisms likely to kick in?

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.