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
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
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 Name | Quantity | ||
---|---|---|---|
Arduino NANO | 1 | https://amzn.to/3jVNZON | https://amzn.to/3KpUQry |
Few Connecting Wires | https://amzn.to/3H2BV4e | https://amzn.to/3J0WVu2 |
Connecting with Arduino
Now lets connect the battery to Arduino with the help of below circuit diagram.
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 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.
After uploading the code open serial monitor in Arduino IDE at a baud rate of 115200. There you see the output as below screenshot.
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.
Video Tutorial:
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.
hi can u help i need the software for DJI to clear pf flag and battery maintenance pls thank you
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
thankyou
Sent check your email.
Hi
Can you share the source code?
I would like to try to adapt it for my Mavic air battery.
Thank you very much!
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.
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
Cordially
Sent. Please check your Mail for code and instructions.
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.
H
code sent please check.
Hi I have 2 faulty Mavic Air batteries that I would like to try you fix on.
Please send code.
Heney
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!
Sent.
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
Link to code added in the article. Reply here if it works.
Seems to of worked on 1 of my batteries, the other is I think to low on voltage to work. Thanks
Thanks for the help provieded
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
Sent please check your email.
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.
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.
I want to know that too 😊
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.
Link to the code added in the article please check. Thanks.
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.
long term storage an battery is unresponsive – not a spicy pillow. pls send 1010101
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!
added in the article. Share your experience.
hi can u help i need the code for DJI mavic mini BFS reader to clear PF flag due to long storage please.
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!
Code link and tutorial given in the above article. please check it.
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.
Sorry, updated the link for Arduino NANO. And also the link to code is in the article itself.
Hey, need to revive my battery, not swallen.
BR
Mario
Will this work with the phantom 3 batteries? They look very similar.
Hello,
How long should it take? 5 sec? it is stuck there:
***DJI MAVIC AIR BATTERY PF RESET TOOL : CIRCUITSCHOOLS.COM ***
***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 …
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.
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 !
if the individual cells inside has low voltage then they wont turn on the BMS. So, charging them with external charger slowly will increase the voltage and BMS turns on.
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?
Hello,
What does it means if it is stuck to unseal/FAS, does it means the bms board is dead?
Hi 🙂
Can you share the source code?
I would like to try to adapt it for my DJI FPV drone.
Thank you very much!
The Unseal key doesnt work for FPV drone.
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.
did you figure it out already? looking for the same answer 🙂
Not working for mine Spark, stops in “Unseal/FAS …”
Worked in Spark after all, was necessary to provide an extra 12v to be possible to unlock…
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.
Merci
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
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
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.
Is it possible to just an ESP32 for this? I have one on my desk?
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
Aqui deu certo, muito feliz. OBRIGADO – TkS
Hi Danny here Australia I have 2 x dead Batteries …Please can you send Code …God Bless Danny
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?
You need to charge them with external charger, not through BMS, connect charging voltage directly to battery pins. You need to have good knowledge of Li-Po batteries while doing.
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
Sincerely
Code is already given in the article, you can use Xloader to upload the code to the Arduino, and run it through Arduino IDE serial monitor.
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
If you are stuck while uploading on Xloader, set the baud rate which we specified in the above article.
Hello, I have same problem with dji fpv battery and looking for solution. Can you send me the your code please?
This doesnt work with FPV batteries.
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.
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 .
Code is already given in the article, you can use Xloader to upload the code to the Arduino, and run it through Arduino IDE serial monitor.
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.
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.
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
hey, after the Arduino Code tyo reset the flags on my mavic battery.
Code is already given in the article, you can use Xloader to upload the code to the Arduino, and run it through Arduino IDE serial monitor.
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.
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.
Regards.
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.
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.
Hi,
Thankyou for this information and code.
Will it work on any of the Ronin M/MX batteries?
Thanks
Jack
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
I dusted off my old mavic air to fly with my son just to find that the batteries are stone cold dead. Help please 🙂
Great Solution. Will your Code also work with a Mavic 2 Pro/Zoom battery?
Hi, this procedure works with mavic pro battery? do you have codes for mavic pro batteries? Many thanks in advance.
Hi, will this work with mavic pro battery? if yes, can you share code? Thanks
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.
Does this Method work on Mavic Mini battery ??
Hi Please send me the source code as well.
Thx!
Hi, I hace the same problem with my mavic air battery
can i recieve the code please?
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 .
can you share the code, Xloader is having hard time with my different arduino board and cant proceed with mavic air 1 battery reset
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.
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.
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
hello , i have charging issue with my mavic air battery,
can i receive the code pls
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
I HAVE THIS PROBLEM WITH THE BATTERY OF MY MAVIC PRO, CAN YOU SEND ME THE CODE. THANKS
Hi, I have a issue when I tried to unseal the battery it stated No FAS can I know what is this error thanks.
I’ve got this: …
Unseal/FAS … NOT FAS
what it means?
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.