DJI Mavic Air battery cycle count reset using Arduino

Learn how to reset the cycle count of mavic air batteries by interfacing BMS with Arduino

In this quick and easy tutorial we are going to interface the DJI Mavic air battery BMS with Arduino to reset the battery cycle count. The lifespan of a Mavic Air battery can vary depending on various factors such as usage, storage conditions, and temperature. DJI, the manufacturer of the Mavic Air, recommends replacing the battery after 200 charging cycles or if it shows signs of swelling or damage.

So, if you feel buying a new battery burns your pockets, you can replace the cells inside with the newer ones. Doing so will lock your battery BMS by raising the Power failure flag. To remove it follow our previous article on DJI Mavic Air battery recovery (Clear PF). After new cells were replaced we need to reset the battery cycle count to measure the cycle counts and heath of the new cells in future. So, follow the below tutorial to reset the battery cycle count easily with the help of Arduino.

What is Battery Cycle count?

A battery cycle count refers to the number of times a battery has gone through a full charge and discharge cycle. In other words, it is the number of times a battery was charged fully and discharged. For example, if you charge your smartphone from 0% to 100% and then use it till 0% again, that is considered one battery cycle.

Battery cycle count is an important metric because as a battery undergoes more charging and discharging cycles, its capacity to hold a charge decreases over time. This means that after a certain number of cycles, the battery’s ability to hold a charge will diminish, and it will need to be replaced. The number of cycles a battery can undergo before its capacity begins to deteriorate will vary depending on the battery type and its usage pattern. Manufacturers often specify a maximum cycle count for their batteries before recommended replacement.

Mavic air battery: How it works with BMS:

The Mavic Air battery is a 3 cell lithium-ion polymer (LiPo) rechargeable battery which is designed for Mavic Air drone only. It has a total capacity of 2375mAh and a voltage of 11.55V.

DJI mavic air battery front and back view

The Mavic Air battery also contains a battery management system (BMS), which helps to protect the battery from overcharging, over-discharging, and overheating. The BMS also balances the cells within the battery to ensure that they are charged and discharged evenly, which helps to extend the battery’s lifespan.

Required components:

Product NameQuantityamazon logoamazon logo india
Arduino NANO1https://amzn.to/3jVNZONhttps://amzn.to/3KpUQry
Few Connecting Wireshttps://amzn.to/3H2BV4ehttps://amzn.to/3J0WVu2
You can buy the required components from the given best buy links. We choose the components according to value for money.

Mavic Air battery pinout:

dji mavic air battery pinout diagram SDA and SCL pins

Connecting BMS with Arduino

Now lets connect the battery to Arduino with the help of below circuit diagram.

connecting mavic air battery with arduino

Here we are using Arduino NANO board, you can even use Arduino UNO as well the pins are same and very simple. Just take 3 jumper wires and connect them. So in this case the A4 from Arduino which is SDA is connected to Pin 5 of battery and A5 from Arduino which is SCL is connected to Pin 6. And finally the GND pin from Arduino is connected to any of the 1,2,3,4 pins.

Arduino Code:

After connecting, its time to upload the code for that you need Arduino IDE.

  • Download Arduino IDE: here
  • Download Exclusive battery cycle count reset code: here
  • Password for ZIP file: circuitschools.com

After downloading the exclusive cycle count reset code Download Xloader: here

Next upload the code to Arduino board using it. Choose the port and Baud rate to 115200.

xloader uploading battery cycle count reset code to arduino

This is an automatic process connect the battery, upload the code, open the serial monitor with baud rate 115200 and with in 5 seconds your battery cycle count will be reset to 0.

dji mavic air battery cycle count reset using arduino serial monitor

If you get any errors or stuck at Unseal FAS… read this Errors and troubleshooting.

This program will work for mavic air 1, mavic air 2, mavic air 2s, mavic 2, mavic 3, Spark , Mavic mini 1/2/SE. As we have only Mavic air we tested on it. As arduino board is cheap and easy to find, make a try with your battery.

If you like this project please subscribe to our YouTube Channel “Circuit Schools to encourage us to publish more interesting projects. If you have any doubts write to us from below comment section.

CircuitSchools Staff

We at CircuitSchools publish on basics of electronics and electric components and everything related to evolution of electrical technology with complete analysis of development boards and modules along with latest projects with innovative ideas.

Related Articles


  1. Hi,
    I bought a Arduino nano to fix my Mavic air battery but I don’t know what kind of cable to connect it to computer. Please tell me which cable I can buy it.
    Thank you

  2. Hi, I have 2 Mavic 3 batteries bricked, and cant fly my drone!
    Could you send me the code to my email, so I can try adapting it for Mavic3?

  3. good evening master
    Would like to save my battery from Marvic air with their software
    When I open the software ( Mavicair_pfreset_circuitschools.hex ) it needs a password
    What is the password so I can save the battery
    Thank you very much
    And I’m glad there are people like you!
    Best regards Macswiss

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button