DJI Mavic Air battery recovery (Clear PF) using Arduino

Learn how to revive a dead or hibernating Mavic air battery using Arduino by clearing the PF flags.

Hey, are you the owner of Mavic Air Drone, and facing issues like the battery LED lights not glowing, battery not charging, battery not working, battery hibernating or battery voltage fluctuations locked the BMS? Here are the steps to rescue it and make it work again.

In this Tutorial, lets learn how the DJI Mavic air intelligent battery works, its BMS chip and its pinout, battery connections and finally how to remove the PF flag and recovering the battery.

Mavic air battery is also called as an intelligent battery as it has a Battery Management System which monitors everything like cell voltages, temperature, battery health and send it to the drone to display them on the remote controller. Not only monitoring but it also performs safety features like charging the Li-Po cells in limits accordingly, and discharging them automatically when not used for long time to increase the life of them. It also monitors the voltage fluctuations if a battery is malfunctioning and creates power failure Flags which makes battery hibernate and not responsive.

Even when you store the battery for more than 3 months without using in between they switch to hibernation mode. This mode makes the battery unresponsive to push buttons and they wont even charge.

Mavic Air Battery Specifications

  • Nominal Voltage: 11.55 V,
  • Max Charge voltage: 13.2 V,
  • Rated Capacity: 2375 mAh, 27.43Wh
  • Battery Type: Li-Po 3S(3 cells in series)
  • BMS Board: BQ9003

Mavic Air Battery BMS Circuit and Pinout

dji mavic air battery bms circuit board

As you can see from the above image the outer cover of the battery is removed so that the BMS Chip is visible. Its BMS has a lock sensor which checks weither battery is fixed inside the drone or not. It also has a temperature sensor attached between batteries to monitor the heat from the batteries while charging and discharging. This BMS has 10 pins.

Mavic Air Battery Pinout diagram

dji mavic air battery pinout diagram SDA and SCL pins

From the about pin diagram you can see there are 10 pins numbered from right to left. The first 4 right pins are for Ground( GND) and the pins 7,8,9,10 are positive terminals. The between pins 5 and 6 are SDA and SCL respectively. There are the Data pins which can communicate through SMBus and I2C communication protocols.

Also read : best IoT Projects

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.

Want to buy a new battery, buy it from amazon from this link: https://amzn.to/3CMkjK1

Connecting 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
Due to some reasons we are not able to share the code here. If you need the code please comment below with the reason why your battery is locked or not responding along with your email. we will reply with code.
  • Download exclusive Code : here.
  • Password for Zip file: circuitschools

After downloading the code Download Xloader: here

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

dji mavic air xloader file upload

After uploading the code open serial monitor in Arduino IDE at a baud rate of 115200. There you see the output as below screenshot.

DJI Mavic air unseal and clear pf on arduino serial monitor

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 will glow.

Charge the battery and it will be ready to use. Fly with caution for first use.

Errors and Troubleshooting:

  • Battery not connected ……

If you see this error check the wiring between Arduino and Battery. If still error there might be very low voltage in the 3 Li Po cells in it. To solve this you can charge the cells individually with very low current till they reach at least 3.9v and connect it with Arduino.

  • Battery Swollen

If the battery is swollen do not pierce or puncture to remove the air from it. If you do so the battery wont hold the voltage eventually making them to die permanently.

To reset mavic battery cycle count refer: DJI Mavic Air battery cycle count reset using Arduino

Video Tutorial:

DJI Mavic Air battery recovery using Arduino Cheap and Easy Method

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 need try recovery 2 batteries , i not use this batteries a two years and not turn on .

        2. Can you send me the code for dji spark,,the battery is not working i mean the bms,i already charge the battery directly into my smart charger,the only issue is the bms..i hope you can make a tutorial video for dji spark

  1. hi can u help i need the code for DJI mavic mini BFS reader to clear PF flag due to long storage please
    i did send a message b4 but i gave wrong email .sorry

      1. Hi
        Can you share the source code?
        I would like to try to adapt it for my Mavic air battery.
        Thank you very much!

      2. Hello Sir, i have mavic pro bloated battery , can you pls help me how to replace or recell a new battery with ur arduino apps & tools.. thanks so much for ur noble advocacy in helping those who want a cheaper way of doing IoT.

  2. Hello,
    Excuse me for my approximate English because it is not my native language.
    I own a DJI Mavic Air 1 with two batteries. I haven’t used the device for several months and both batteries have gone into deep hibernation. I can’t reload them. The green LEDs do not light up when the button is pressed.
    I have an Arduino Nano, I read your very well done tutorial, I only need the code to upload to the Arduino.
    Would you be so kind as to send me this code.
    Thanks a lot

      1. Hi Thanks for the information.
        I have a Mavic air I bought second hand with 3 batteries. One works the others are dead lights will not show.
        Batteries are not swollen.
        I would like to try your fix please send me the code.
        Thanks for the information.

  3. Hi, friend. Very good the article. I’ve heard about some guys using a USB/SCI adapter to do the same, but as I already have Arduinos here, it willl be very useful and educative to try. Can you share the code? Thanks!

    1. Went to charge my mavic battery’s after sitting on the shelf for 6 months, hoping this code will recover them before I need to order a cp2112

  4. Hi all,
    i have forgotten to load my my mavic air battery. After 3 month i can’t load them again.
    Please send me the arduino code to bring them back to live. Thank you

  5. Can you make a tutorial on how to replace the cells of Mavic air with Li-Ion batteries. my original batteries are swollen and dead.

    1. It is generally not recommended to replace the battery of a DJI Mavic Air with individual lithium-ion cells. The Mavic Air’s battery is a complex and carefully designed system that includes multiple cells, a built-in battery management system (BMS), and other components that are designed to work together to provide power to the drone and ensure safe operation. Modifying the battery in any way can pose a serious risk of injury or damage to the drone, and may also void the manufacturer’s warranty.

      If you are experiencing issues with the battery on your Mavic Air, we recommend contacting DJI or an authorized DJI repair center for assistance. They will be able to diagnose any problems with the battery and provide recommendations for repair or replacement if necessary.

      But if your country doesn’t has any DJI services you can go for it.

  6. I have 3 DJI mavic air batteries from flymore combo and are not charging, they were unused for 5 months may be thats the reason please help me in turning them on. Also please send the code for arduino. Thanks in advance.

  7. Hi,
    I have a DJI Mavic Air with 3 batteries mod. PBI2375mAh 11,55V. I haven’t used the drone for 2 years and the batteries allready doesn’t work. I can’t charge them, if I press the button, the green LEDs do not light up.
    I need the Arduino code to reset them, can you send me?
    Many thanks, Fabio.

  8. I am in the same boat at Suraj – they were unused for an extended period of time – please help me in turning them on. Also please send the code for arduino. Thanks in advance. happy new year!

  9. Hello sire.
    I have two sleeping batteries not used for allmost one year. Now both are totally non responsive. Can you help please with the arduino code needed to try to activate them again?
    Thank you very much!

  10. I need the code to unlock my Mavic Air Battery. No swelling.

    Also, the link for the Arduino NANO you list above must have changed. https://amzn.to/3pxTUcK goes to a different product.
    Arduino NANO in Amazon brings up the same item photo.

  11. Hello,
    How long should it take? 5 sec? it is stuck there:

    ***Visit circuitschools.com for Circuit diagram and tutorial***
    ***This program will unseal and clearPF automatically for DJI MAVIC AIR***
    ***If this program helped you please comment on our page***
    Unseal/FAS …

    1. It means BMS is not connected to the Arduino NANO.
      Reasons: 1.Connection problem, or 2. the voltages in the internal cells are very low.
      Solutions:1.Check the wiring, 2.Charge the individual cells upto nearly 3.8v with external lipo chargers with very slow speeds.

      1. First of all thank you for your precious guide.
        My uncle gave me his Mavic Air drone that he hasn’t used in the last 2 years and all 3 batteries are gone.
        I’m trying to solve with your solution, but I’m stucked on “Unseal/FAS…”.
        Checked the wiring; I’m not sure to understand what do you mean with “Charge the individual cells…”, does it mean to try to charge for some hours the batteries with their recharger or that means something else ?
        Again, thank you so much !

  12. How long it is suppose to take? it is stuck at unseal/FAS… for ever
    is there a way to get info from the battery?

      1. I have an original Ronin gimbal and batteries are not available, so I am looking for a workaround. The battery talks to the gimbal via a signal pair. Do you know what the idea is? Do you know the protocol? Why does the BMS talk to the gimbal?

  13. Will this code work on spark batterys? i love this code couse i used it several times on my mavic air battery but i want to know if it also works on the spark drones, thanks in advance.

        1. Mine too, im using arduino nano, but runing in windows 7,…thats wrong or its not a problem? I olso charged the batteries but they have diferents voltages…like 3.20 v… 3.45v and the other one 3.50v… thats a problem too?
          I have the messega unseal/fas too

  14. Hello,
    sur mes 3 batteries du Mavic Air Combo, il y en a qu’ une que je ne peux la charger.
    Veuillez m’envoyer le code Arduino pour remettre cette batterie en service.

  15. I bought a mavic air from somebody that has no knowledge of lipo batteries like me turns out it’s useless and I can’t really afford a new battery I have looked all over and this seems like the way to do it

  16. Hello,
    I own a DJI Mavic Air 1 which I haven’t used for quite awhile and i was thinking of trying out what you mentioned in your article above.
    Would it be possible for you to send me the arduino source code please?
    Thanks a lot

  17. Hello,

    I have a mavic air that has not been used in a long while and my batteries appear to be locked. I will very much like to try to see if your solution works, and i hope i can get the arduino source code from you.

    Thank you.

  18. Goodnight
    I have a mavic air, I haven’t used it in 6 months and the batteries won’t start.
    Could you give me the codes?
    I thank

  19. Thanks a lot for putting this guide together. Regardless of whether I am going to be able to revive my batteries, I learned a lot!

    As others have mentioned here above, I am stuck too at Unseal/FAS… If the batteries are not turning on whatsoever, you still suggest to have these charged using the Mavic charger (not multi-charger I guess), for as long as possible, correct?

      1. Hello,
        sorry for my rough english as it is not my native language.
        I have a DJI FPV with 1 battery that has gone into deep sleep. I haven’t used the device in months and the battery has gone into deep hibernation. I can’t reload it. When the button is pressed, the white LEDs do not light up.
        I have an Arduino Nano, I read your very well done tutorial, I just need the code to upload to the Arduino. Will it work with DJI FPV?
        Could you please send me this code.
        Thank you very much

  20. Hello friend i tried to load your program using xloader, but xloader is stuck and not able to load the program. So can u share the code. I have laptop batteries, also i tried with fx2lp and some other arduino codes but not able to reset PF. I installed new batteries but need to reset PF. So if you allow me i can try with my laptop battery. Thank you

  21. hello sir

    i am wondering if you can help me.. on how to charge the cells of the unit without having to open it up ?

    cause i have to how wire another battery to get the code to wipe the lock battery but how do i charge set lock battery as i think the cells are to low

    best regards
    kyle slabber
    south africa

  22. hello sir

    i have left a few comments but they never stay long

    i final mange to sort out my battery.. i had to open it and charge the battery as it was 2v total got it 11.6v then did the unseal.. everything is working great now charge up .. just need to make the case look nice again as i dont have nice tools to open the case with.

  23. Hi sir
    I have 2 mavic air batteries . Not puffed . I have charged the batteries with lipo charger . Now need to clear pf
    Please share the code .

  24. does this work for spark batties as well? Xloader gives the message: Can’t open port. The settings are the same as in your description. Im using a Arduino nano.

  25. does this work for the spark batteries as well? I tried it, with the mentioned settings above, however, I get the message from xloader: can’t open port. I tried it with a arduino nano and uno.

    1. It means that arduino is not connected to your pc. Check in the pc device manager for the ports weither it is connected or not. And this code is not tested with spark batteries, so we are not sure that it works with spark batteries.

      1. Yes, it worked a treat with my Sparkies. I have just successfully used it to do two dead ones. Pinout with batteries facing lights/button up and connector towards you is 1-SCL, 2-GND, 3, 4, 5, 6-SDA

  26. Hi, My DJI Mavic Air battery is not working and I am unable to charge it. Please help to share the source code.
    I would like to try to make it works again.
    Many thanks for your help in advance.

  27. Hello,
    Hope you’re doing well.
    I own a DJI Mavic Air 1 with two batteries. I haven’t used the device for several months and both batteries have gone into deep hibernation. I can’t reload them. The green LEDs do not light up when the button is pressed. Need guidance and code.


  28. At first i thought it’s some kind of a hoax. There was no reaction in the terminal after connecting the battery. The problem was lov voltage on the cells. After charging it worked just like in the above tutorial. Thank you for your work, i don’t currentylky own cp2112 interface but there’s always some arduino laying around.

  29. Brilliant guide thankyou so much. My 3 batteries were all dead. I tried your code and was stuck on the “unseal FAS” step. I was able to charge each of the cells with a TP4056. For a while I was still stuck here – with charged cells still stuck at the unseal stage. To fix this, I plugged the battery back into the standard charger for a couple of minutes. Then, running the arduino code again worked perfectly!!! 🙂
    Now I have 3 fixed batteries, and ready to fly again…. thanks again.

  30. Hi,

    Thankyou for this information and code.

    Will it work on any of the Ronin M/MX batteries?


  31. hi. i buy phantom4 pro. i haven’t used about one year. i need to remove pf error. Many thanks for your help in advance.
    best regard

  32. I dusted off my old mavic air to fly with my son just to find that the batteries are stone cold dead. Help please 🙂

  33. Hi, this procedure works with mavic pro battery? do you have codes for mavic pro batteries? Many thanks in advance.

  34. Hey can you make your code working with other arduinos, or send the code?
    Does data line work only with 3,3v or with 5v as well?
    I have arduino uno laying around, that I’d like to use.

  35. Hello, Thanks for the work.
    I am stuck with Phantom 4, DJI Spark and Dji Agras BAtteries that are under over storage issue.
    Kindly can we cooperate? I am Okay with some coffee..
    Regards ,Yiga .

  36. can you share the code, Xloader is having hard time with my different arduino board and cant proceed with mavic air 1 battery reset

  37. Dear Sir …… I have a battery ( mavic air) not accept charging and not output , so If you help I need the arduino code , thank you for your help , my mail ……….. akabood46@gmail.com ( I am from Irag ) ….thank more my name Kadhim aziz.

  38. You blokes are geniuses. I’ve just managed to unlock my 2 dead DJI Spark batteries (drone had been left unused for two years) using the method described on this page (the video wasn’t as much help as your written words) despite never having previously touched an Arduino or anything like it in my life. I spent yesterday charging up the cells (to about 11.2v total) by opening the battery housings hoping it may help get the batteries going but they still would not respond to my DJI charger even when left on it overnight. Today I went to Jaycar (an Aussie electronics shop) and bought the Arduino Nano, then began a sudden and intensive learning experience that included learning how to make my USB port act as COM4, how to download zipped files and unzip them and then how to use Xloader to upload the hex code to the nano. There were lots of little hiccups along the way to resolve by trial and error including when I got stuck at the final hurdle because I didn’t realise that leaving Xloader open on my screen after the upload was preventing the Arduino IDE’s Serial Monitor from getting the battery to respond to the unseal instructions so I was missing that final “Done Unsealing Writing Done” result. After clearing that hurdle it went perfectly and now my two batteries are alive and I can finally fly the drone. Thank you.

    1. Hi Jaguar Dave,

      glad to hear that it’s possible to revive the spark batteries; I have 3 here … can you explain me how you have charged the cells up to 11.2v, what have you used ?

      thanks in advance,
      greetings from Belgium,

  39. I stopped using my drone for 1 month and when I wanted to use it the battery was blocked, the model is a mavic 2 zoom

  40. My DJI Mavic Air batteries have not been used over a year and won’t charge. I tried everything else with no luck.

    Can I kindly request the code please

  41. Hi, I have a issue when I tried to unseal the battery it stated No FAS can I know what is this error thanks.

  42. helo sir, i have a 3 mavic air 1 battery that sit a long time a go, i hope you will help me, for the code, thank you in advance.

  43. Hi,

    Thanks for these great instructions. I have followed them but the code does not execute in IDE. It stops on Unseal/FAS and does not go any further.

    Any ideas?

  44. Hi, please provide me with the code to reprogram my Mavic Air batteries. I’ve got two batteries that was left on the farm for more than a year and now they’re both dead.

    I’m looking forward to your reply.

    Terry van Zyl

  45. Hi, I’ve got 2x Mavic Air batteries that were left on the farm for too long and now they’re not responding. Will you please supply me with the code as mentioned?

  46. Thanks a lot! I have recovered my batteries 🙂
    Only one note: to be able to upload the code to an Arduino Pro Mini I had to select a baud rate of 57600. The 115200 did not work, it showed Uploading… and nothing more.

  47. I didn’t use my mavic pro for an year due to moving to another house reason. When I check the battery it become totally dead. I opened the battery plastics and check the power of the cells. They went down to 6 Volts. I’ve tried to increase the voltage using the laboratory power supply connected directly on the cells with the current of 1A and lights on the battery start to show something but it still doesn’t work on dron or AC adapter can’t charge it more. Now the voltage is 12.1V. If you can send me a code I will try with arduino …
    Thank you in advance

  48. Dear Sir : I need your help , my 2 battrey of mavic air no output not eccepting charge , that was suddenly ,so I need the the code and password if it is possiple , I am from Iraq .
    thanks indeed

  49. what do you mean by ( my Email not published ) , otherwise of you do not like to help , that is yours .

  50. Hello, I have a DJI Mavic Air. One of my batteries has been in storage for a year and will not turn on or charge. Please send me the code, thank you!

  51. Hey, I havent chargerd my mavic air battery for long time so its not charging, can youy send me the code

  52. Hi the Mavicair pfreset hex is asking for a password so can not download it could you email it me please thanks

      1. Thank you very much one battery is now unlocked 2 more to do tomorrow thanks for your programme was very easy

  53. Thanks for sharing. I’m trying to unlock the battery with an Arduino Uno and when I upload the code with the arduino connected to the battery it stops at: “Unseal/FAS…” and doesn’t finish. Could it be because the pin configuration is different from the Arduino Nano to the UNO? I tried it with A4,A5 and with those that have Arduino Uno as SDA and SCL but the same thing happens to me. I think you can’t modify the pins in the .hex file you share. Can you share the .ino file? Perhaps the problem is due to the loads of the cells.

      1. Yes Yes Yes!!! I opened the battery and charged the cells one by one and later I managed to unlock it. I have a battery that has one of the three cells at zero volts. This stays at the “Unseal/FAS…” step. I will try to replace that damaged cell (I imagine) to try to make it work. Thanks a lot.

  54. Hello, I have gone through everything step by step. The last line after doing the Serial Monitor on my end shows: Unseal/FAS …
    Your instructions say that it should say “Done Unsealing” and then Writing. Why am I unable to get it to go past this?

  55. Hi, I want to recover 3 of my mavic air 1 batteries. Is it also possible with an CP2112 in combination with xLoader?

  56. Does this code work with an Arduino Uno?

    I uploaded the code, and attached the pins to the same A4 and A5, but the serial monitor is stuck at “Unseal/FAS”…

  57. Hey! wanted to say thanks for the comprehensive and easy-to-follow guide! I followed everything with the exception of using Arduino Uno instead of Nano. The charging of the battery cell using TP4056 is tricky to keep in contact, but it works as you mentioned (I charged all three cells until
    approx higher than 3.7v) Thanks for being awesome

  58. Hi CircuitSchool,

    Thanks a lot for the article!
    I thought my batterries are completely died, but hope they are not.

    I didn’t use my Mavic Air for several years, so all 3 batteries are just do not react to attempts to charge them – no any led light, the battery charging stations blinks with 2 red lights and one green. I have tried to charge the batteries for several days (tried to charge directly from the adapter as well) hoping they will quit the hibernate mode, but no success and no any signs of life.

    Could you kindly send me the code to unblock the batteries?

  59. I cannot charge the battery and it below 12 volts.
    Voltage is only 4 volts. I own a DJI Mavic Air. Help me clear the pf
    Please send me the code.

  60. I need a code to unlock the Arduino code please I have a locked battery and it is not responding to the battery repair program I think it is locked due to over discharge

  61. Thank you for your instructions. My battery seems to be dead, I would like to recover it with your solution…

  62. I cannot charge the battery and it below 12 volts.
    Voltage is only 4 volts. I own a DJI Mavic Air.

  63. Hello, I have a Mavic Air 1 battery that will not charge and no LEDs show up. I have a MAC, and I noticed the software to upload the fix was for PC. Is there any way to do this on a MAC?

  64. Hallo. I have a DJI Mavic Air, and my goods were stored for a long period due to relocation (including battery). Now no response from battery. Please send me the code or link to download. Thank you. Carl

  65. hi, what is NOT FAS?

    ***Visit circuitschools.com for Circuit diagram and tutorial***
    ***This program will unseal and clearPF automatically for DJI MAVIC AIR***
    ***If this program helped you please comment on our page***
    Unseal/FAS … NOT FAS

  66. Hello, my manic batteries have gone into permanent hibernation after a year or so of non-use. Can you please send me the file? The link in the article appears to be broken.

  67. Hi,
    My phantom 4 battery does not work….single flash and does not chrage after long storage. I hope the same code will work also for it. Can you please email me the code?

  68. This worked on two dead Mavic Air batteries for me. I did have to pry them open first and trickle charge them with a TP4056 board first. There is no way to elegantly pry them without scratching them up a bit, but if you don’t break the inner tabs, you should be able to put them back together just fine. You will need a volt meter. The three batteries inside each battery housing need to all be around 3.80 before the Arduino code would execute. This can take a few hours depending on how many batteries you have and how dead they are. Mine were realllly drained. Quit the Xloader app after you upload the code, then open the serial viewer in the Arduino IDE to see the code executing. I am amazed this worked, and happy! Thanks again for this great how-to!


  70. The battery is new, I used it only once, but I stored it for a period of time, and when I wanted to use it again, it did not work, and it also does not charge.
    Please send me the code.

  71. Hi,
    I have gotten the Xload to work and upload the hex file to the arduino/battery. “4846 bytes uploaded”

    But when I open the serial monitor with Arduino IDE (2.1.0) there is no text or dialogue at all. Just the empty screen. I’ve tried with and without closing xloader before opening IDE.

    Is there another step needed?

  72. Hi I have 2 faulty Mavic Air batteries that I would like to try you fix on.
    Please send code.

  73. HI,
    the Xloader works fine, the upload to my arduino is successful. But when I open serial Monitor there is no response, no text no nothing. Do you have any idea what can be wrong?
    The battery was charged with the method at the end of you video

    1. This might help. I usually run Linux but borrowed a windows laptop to get the code onto the nano – I thought I could then just plug the nano into my linux box and clear the BMS from there, but I got nothing on the serial monitor. I moved it all back to the windows box and it had switched com ports so again I didn’t see anything, but switched it back to original USB and it worked fine.

  74. Can i get source code ? working on some similar project for notebook batteries so this can be very usefull. Thanks

      1. Yes I know, that’s why I have ask for source code to try to modify it a bit and add more options to it, maybe even a small python gui …

  75. Thanks to your instructions I was able to revive two of my three Mavic Air batteries! I had to open those two batteries to charge the cells separately to 3.7V beforehand because the Voltage was to low for the internal BMS-Chip to work.

    Very helpful for Mac Users may be that its possible to use the preinstalled Terminal App for getting the HEX code to the Arduino Nano (with Chipset CH340) connect via USB: 1. Open Terminal, 2. change your local path of the HEX file (below), 3. copy paste in terminal, 4. hit enter:

    /Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin/avrdude -C/Applications/Arduino.app/Contents/Java/hardware/tools/avr/etc/avrdude.conf -v -patmega328p -carduino -P/dev/cu.usbserial-14120 -b57600 -D -Uflash:w:/Users/YOUR/FILE/PATH/Mavicair_pfreset_circuitschools.hex:i

  76. I get stuck with this text

    ***Visit circuitschools.com for Circuit diagram and tutorial***
    ***This program will unseal and clearPF automatically for DJI MAVIC AIR***
    ***If this program helped you please comment on our page***
    Unseal/FAS …

    Tried with different batteris and cables but it does nothing after that.

  77. Brilliant – Thank You! 2 dead batteries that had been in storage for over 3 years fully revived. For info, there wasn’t enough charge to power the BMS so I opened the case. I didn’t like the idea of soldering so close to all that circuitry, so I screwed a couple of screws halfway through a small piece of wood 18mm apart then used rubber bands to connect the wood to the battery. The points of the screws touching back left and front right (looking with the battery pins towards you) and clipped a small 0.5a 12v charger +ve to back left, -ve to front right – a couple of hours later I had 11.5v. I still had to connect back left to one of the +ve battery pins on the case, but I just held it in place while the program ran. Thanks, Pete.

  78. What is the white board / pin board that he plugs everything into called and where can it be ordered?

  79. Hi I have 1 Battery of Mavic Air that was fully charged and stored for 2 months now it is not charging and lights not coming on. Would like to clear the flags. Please share the code with me

  80. Hi Circuit School:
    Can you please send me the code for resetting the PF on a Mavic battery? I don’t really know why it has failed, but it was probably caused by a few months of disuse.

    Many thanks for your efforts!

    Bill Gibson

  81. Hello,
    Two of my Mavic Air batteries no longer charge because I have not used them for several months. I have already reset the PF flag on the BMS. But this did not help. How is the PF flag reset with your code. Can you share your source code with me?

  82. Hi..Thanks for helping us out. I tried to follow the same steps as mentioned in the tutorial and got below results but my battery is still not blinking. I can confirm that battery is charged using external LIPO charger and all 3 cells individually show enough voltage. Please can you guid if we need to follow any additional step?

    12:57:08.543 -> ***Visit circuitschools.com for Circuit diagram and tutorial***
    12:57:08.585 -> ***This program will RESET battery cycle count automatically for DJI MAVIC AIR***
    12:57:10.562 -> ***If this program helped you please comment on our page***
    12:57:13.549 -> Unseal/FAS … Done Unsealing
    12:57:14.403 -> Writing…Done
    12:57:15.583 -> Thank you.. Battery cycle count reset success and sealed

  83. Hallo
    Können Sie mir bitte den Code zum Zurücksetzen einer Mavic AIR-Batterie senden?
    Zellen hatten Kurze zeit Unter Spannung. wurden aber wider alle Aufgeldern einzeln auf die richtige Spannung.

    Danke Gruß Alex

  84. Can’t upload the code via xLoader. Freezes, no upload possible.
    Have arduino nano every.
    Is it possilble to get the C code.

      1. Sorry but does not work. Have tried different baud rates (115200 specified in article). No upload happening, Xloader just freezes. Tried downloading again Xloader.
        Can’t upload the code to Nano every. Any other solutions ?

  85. Is the same tool also working on Mavic Pro battery? Or is it possible that I destroy my config or other things?

  86. I have a mavik3 battery. Could you please share the code? I don’t have such an arduino, so I have to change something…

  87. Can you please send me the code. I have a Mavic Air which hasn’t been flown for more then 6 months

  88. Hi,
    I’m trying to unlock 2 dead batteries with an arduino mega 2560, the pins seems to be the same.
    The download with xloader is ok : 4846 bytes uploaded ; but after that nothing in the monitor :'(
    Trying with other baud rates but doesn’t work.
    Any chance to get it worked with this arduino ? Could you send me the source code ?


  89. Eu tenho um Mavic air que comprei de segunda mão com 3 baterias. Um funciona, os outros estão mortos, as luzes não aparecerão.
    As baterias não estão inchadas.
    Eu gostaria de tentar sua correção, por favor me envie o código.
    Obrigado pela informação.

  90. Hi,
    I have a Mavic 2 Zoom and one battery does not work correctly. It is fully charged, it gives power, I can even see the picture from the camera on my screen, I can zoom and move the camera, but the remote control does not receive any information about the battery. The remote control thinks that the battery is empty and refuses to lift off. Can your program help me?

  91. Hi. From the responses above, it seems like great work you’ve done here. I’ve got a second-hand Mavic Air 1 and the battery is dead weight right now.

    Could you please send me the source so I can attempt to revive it?


  92. Hello,
    I have already plenty of DJI bateries with an LED blinking and the Mavic doesn’t want to recognize it.
    Could I, please, get access to the code of your program.
    In case it costs something, then, please, tell me the price and the preferred payment method.
    Thank you in advance.

  93. Is it possible to get the source code for this instead of the .hex file?
    I want to get this to run on a different board. Thanks

  94. hello, please write me the code. I have the battery too much final charge have it again manually charged goes again (the cells were at 2.3v) bms is disabled

  95. Hi.
    For some reason I can’t download the hex. Can you please help. This is for mavic air batteries that sat too long without charge. Thank you!

  96. Hello Grand Master
    Did it Battery is charging again!
    This package is awesome can recommend it 100%

  97. I have 3 batteries that i didnt use in 2 years. I need if you can share the code to my email to upload with IDE. Please.

  98. I just can’t get the xloader to work. Keep stuck in uploading…
    Follow all the instructions, check the baud rate, etc.
    Using arduino nano with atmega328 chip.
    Is there any other alternative to upload the hex file?

  99. Can you share the code?
    I have 2 Mavic Pro batteries dead and last night spent almost 4 hours trying to get the xloader to work without success.

  100. Hi!
    Greetings from Romania!!!
    I have a Mavic Air, which hasn’t been turned on for a while, and now the battery is dead. I opened it, the cells are in parameters after charging but the battery does not respond in any way… You are my last hope!
    Thanks in advance.

  101. hi I can figure thu out and ordered the 2 parts from amazon, what about yhe whit board them usb programing boad is plugged into…. can I connect wires to battery without it?

  102. Hello, could you please share the code t me, I’d like to port to my board which is not an arduino nano.
    Many thnks in any case.

  103. Thanks for the code, worked great.

    I found that after manually charging the cells to 3.75, it would not work. I put it on the dji charger for a few seconds, no lights since it was still locked, then tried again and it worked.

  104. Hi Mate,

    First and foremost, thank you for sharing this!!!
    I am going to give this a crack, and see if I can get it working for a Mavic Mini 1 battery, and an Mavic Mini 2 battery.
    Do you have any tips or recommendations / things NOT to try?


  105. Dear circuits school staffs, i have gone through your esteem tutorial, was very happy and started experimenting, my 1st battery voltage was too low so i couldn’t get any results, i charged them using external supply and after battery voltage reached 11.89v i tried again today but this time the xloader displayed “can’t open port” i dont know what may be the reason.
    i want to try using code and arduino ide and upload it to nano or uno and make my battery alright so please share me the code.

Leave a Reply

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

Back to top button