Hey, are you the owner of a DJI Drone, and facing issues like the battery LED lights not glowing, DJI battery not charging, battery not working, battery hibernating or battery voltage down and locked the BMS? Here are the steps to repair and rescue it and make it work again in no time with our new DJI Battery unlocking tool which is easy to use.
In this Article you get, DJI battery repair tools which unlock the battery not working or not charging. Battery PF removal can be done through this by using DJI Arduino unlocking tool. A detailed tutorial with videos are provided.
Table of Contents
DJI battery and its features
DJI named its battery 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 locks the BMS and makes the battery to hibernate and not responsive.
Even when you store the battery for more than 3 to 6 months without using in between they switch to hibernation mode. This mode makes the battery unresponsive to push buttons and they wont even charge. This makes us very frustrating there are no easy tools available to get them back to normal state. So, here we came with a very easy tool which can unlock the battery by removing the error flags raised and make your battery work again.
DJI Battery Specifications
- BMS Board supported: BQ9003
User Reviews:
We have countless number of reviews and thanks to the people who trusted us and revived their batteries using our tool. Below are few reviews but there are lot more and more, sharing them will make this page bigger.

DJI Battery Pinout diagram

From the above DJI battery pin diagram you can see the batteries have SDA and SCL these are the serial communication pins through which we will access the data and write data into the board. Also we have + and – pins.
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 here we are showing an example with Mavic Air battery you can connect the same with other batteries but check the pinouts and connect them carefully.
So for the Air battery A4 from Arduino which is SDA is connected to Pin 5 which is SDA of battery and A5 from Arduino which is SCL is connected to Pin 6 which is SCL of battery. And finally the GND pin from Arduino is connected to any of the 1,2,3,4 pins.
DJI battery Unlocker Tools Version 3
Download the Tools and Files
- Supported devices: Mavic 2, Mavic Air 2s/2/1, Mavic mini SE/2/1 and Spark batteries. (MAVIC 3 not working)
Please scan the below QR code or Pay through the link(Email support included):

Download exclusive Version 3 Code :
- Server 1: Download Now
- Server 2: Download Now
- This software works only with Windows. Mac is not supported. If you know AVRdude you can proceed on macOS here is tutorial : How to Upload a .hex File to Arduino on macOS Using AVRdude
- Password for Zip file: circuitschools
If you cannot download and have issues, please contact us at circuitschools@gmail.com. If you face any issue please take a screenshot and email us, so that we will help you accordingly.
We offer our quickest responses during our active support hours: 01:30 AM to 05:30 PM UTC. During this time, you can expect faster replies to your emails and support queries. Please note that sometimes email delivery delays may slightly affect our response time, but rest assured — we respond to every email as soon as possible.
Upload Hex File using AVRdudess
After downloading the files extract it to a folder, Install AVRdudess tool (Provided in the downloaded files). After installing AVRdudess, open it and the interface looks like the below screenshot.
- Download AVRdudess : link
- Install AVRdudess Video Tutorial : https://www.youtube.com/watch?v=oNaQ5Ehbpsk

- Step1: To upload the HEX file, first Choose programmer as “arduino…” as we are using Arduino nano,
- Step2: next choose the Port where our Arduino is connected.
- Step3: In the Flash section Choose the Hex file which we named as ” DJIUnlockerversion3Firmware.hex”
- Step4: Hit Program button to start uploading it to Arduino. When its done Follow the next steps.
DJI Battery Unlocker Version3 Tool
After uploading the HEX file open “DJI_Battery_Unlocker_Version3.exe” file which is the main tool through which we can check the battery info, Clear PF of our batteries to make them work like normal again. and we can also reset the cycle count from it. When you open it looks like the below screenshot.

After opening this tools, we need to connect Arduino by choosing the PORT and click on connect button. When its connected you can use the other functions.
Battery Info: Displays all the important details about the battery like manufacture dates, Serial numbers, all the voltages and currents, cycle count, and more.
Start Unlock: Clears PF flags and recovers the battery to normal mode.
Reset Cycle Count: Reset the cycle count of the battery to Zero(0).
Stuck at Battery not connected Please Check wiring ?
Sometimes even when connecting everything perfectly gives this error, please check the below reasons why you get this.
Reason:
The battery has 2 or 3 cells in it, each cell voltage has to be above 3.85V to make the nominal voltage of the battery BMS. This means the battery BMS functions only if its cells give above nominal voltage, as we kept our battery unused aside for long period the voltage dropped and created a PF flag and locked down. Even if you try to charge with DJI charger also, nothing will work.
Solution:
Solution is simple, just we need to charge the cells to increase the voltage to make the BMS work again and remove the PF flag. To charge the cells we need to remove the outer plastic hard cover to expose the BMS. Here we need a cheap and magical chip TP4056 Li-ion charging chip. We need to charge each cells according to the below image, and remember to charge all cells equally which means all should be at 3.9v or 4v, check the voltage with multimeter.
Here I have Mavic Air battery so, showing it as an example. Generally all the other batteries are also nearly same, some mini batteries have 2 cells instead of 3, so their voltages will be different. But all of them uses Li-Po cells (3.7-4.2V) so calculate according to it.

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 whether 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.
Charging cells externally video tutorial: https://youtu.be/eQHaXV3gcBo?t=378
If you have a lithium Balanced charger you can charge them directly.
- Buy TP4056 from this link : https://amzn.to/4hoeEMu
- Multimeter : https://amzn.to/3CoOg6s

With TP4056 use a very slow charger which outputs near 500mA, otherwise the chip gets heated. connect the pins one after the other to individual cells according to the polarity.

After charging the individual cells check for voltage across cell1 + and cell 3 – this should be above 11.55v as we have 3 cells. if done connect the Arduino and open the Unlocker tool, the battery will be detected and gets unlocked.
FAQs: Fixing DJI Battery Issues
Q1: Can I repair a swollen DJI battery?
A: No. Swelling indicates physical damage—replace the battery immediately.
Q2: How do I prevent hibernation mode?
A: Charge batteries to 50% before storage and recharge them every 3 months.
Q3: Is the unlocking tool safe?
A: Yes! The tool will be just used to read the data, reset PF flags and reset cycle counts. To avoiding any risks connect exactly as stated. We are not responsible for any type of damages.
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.
User Reviews:




I have use this repair DJI Air. It works fine and fast.
Thank you circuitschools.com ⭐️⭐️⭐️⭐️⭐️ 5 stars for youre team
This worked with an Arduino UNO, I was able to revive 2 of 3 DJI Spark batteries, the 3rd might still be salvageable, but it isnt getting enough of a charge to be found by the software yet. Will try again later after letting it try and get just enough charge.
In case anyone with Spark batteries is reading this, GND can be either pin 2 or 5, both worked.
This tool saved two mavic air batteries.You did great job.
thanks for the tool, it helped me revive my 3 mavic air batteries
Thanks it worked for me. your quick support is highly appreciated.
Saved 3 spark batteries from certain death. Thanks for the software, the Unlocker v3 made is really easy. Good value at $7, happy to pay for working software.
This saved me a lot of money! DJI service center quoted me for new batteries, but this repair tool unlocked both my old ones perfectly. If your drone batteries are not working, better try this tool before replacing them.
Hello, your project is great. It saved my two dead batteries. However, I have a better charging solution. Instead of taking the batteries apart and charging each cell individually, simply connect a standard 9V battery to the “+” and “-” terminals. This is enough to wake the battery up. This way, you can charge it to the minimum voltage.
Brilliant tool! My DJI Mini 2 battery wouldn’t charge for months, and this fixed it in less than 10 minutes using cheapest Arduino. The instructions were clear, and everything worked as promised. Highly recommend for anyone with dead DJI batteries.
Good sir, thank you so much. Just fixed 3 Mavic Air batteries without any issue. It was a fun project too.
Have a good one 🙂
Hi and thank you for the product. I have Mavic Air 1. I have charged each cell to 4.08, 4.01 & 4.09 and checked the wiring all the way from the pins to the battery but I still experience – Battery not found Please Check wiring. Any further advice please.
its like try to wiggle the wires for better connectivity if they are loose, or replace the wires with other wires and try again. Sometimes there may be other issues like fault in BMS chip or pins which can stop in communicating.
Hello and a lovely good evening. I would like to thank you again. Without people like you the world would only be half as beautiful.
I repaired both batteries using your instructions and software. Thank you very much.
Kind regards, Holger
Why make it posteriorly cost money, i thought the point of this was to reopen the batteries since DJI was trying to exploit people. Robinhood would never
Hi, thank you for your feedback — we genuinely understand your concern.
For over 2 years, we offered this tool completely free to support the community and help fellow DJI users facing the same battery issues. But as our project grew, so did the challenges — server costs, development time, and support needs started adding up. Our budget is very limited, and it began holding us back from improving or building more helpful tools like this.
The small contribution helps us keep the website running, maintain the tool, and provide quick, personal support — which we believe is still a fraction compared to the cost of a new battery or repair.
We’re not trying to exploit anyone — quite the opposite. We’re trying to make a long-term, affordable alternative possible, and your support directly helps us continue that mission.
Thanks again for sharing your thoughts. ❤️
I brought v3 unlocker yesterday, every thing seems to work except it only shows voltage for 3 of the 4 batteries. Mavic 2.
Have tested a good battery and the same result. Can you help
Please send the email to circuitschools@gmail.com we will send you the customized code to show cell 4 voltage.
Goodafternoon, I bought unlocker V3 yesterday, i have an arduino UNO R3 with Atmega328PB board. The only way i could load the Hex file is with a usbasp programmer via avrdudess. Then with the Unlocker it sees the COM port and can connect but shows weird characters in the black field? I tried this on different PC’s. Can it be that this board doesn’t support the program. In avrdudess I’m only able to select usbasp programmer and usb port instead of COM port to program hex file. Had someone similar issues? Thanks Johannes
please follow this video tutorial where we selected Arduino in programer.: https://www.youtube.com/watch?v=oNaQ5Ehbpsk
in the programmer you need to select Arduino, may be you downloaded different version of AVRdudess. please send the screenshots of errors to our email at circuitschools@gmail.com
It works 100 percent just like shown in the video. The battery reset cycle works without any issues, even in the drone. Everything went smoothly, including the payment and receiving the program with the files. Many thanks to the developers of the program!The reason I wanted to reset the battery cycles is because I’m going to replace the batteries, so I want to automatically reset the BMS cycle count tested on dji mini 1 fly more combo 🙂
Hi guys! Do you know any method to revive or recover the NEO battery?
Hi, would this by any chance work for a DJI Mavic Pro battery? Thanks!
sorry, Mavic pro has different chipset rather than BQ9003. So it doesn’t work.
Hello Grand Master
Did it Battery is charging again!
This tool is awesome can recommend it 100%
Thanks
hi there, I run the AVRDUDESS (with admin privileges as well) but “Program” button seems greyed out?
Had you loaded the .hex file and chose programmer as Arduino. For detailed tutorial check this video: https://www.youtube.com/watch?v=oNaQ5Ehbpsk
I have achieved all the steps to start the repair process however it would appear my battery is completely dead so I have ordered the TP4056. I read through my research I could connect a 12v battery to kickstart the process. I really am not electronics minded and am cautious of causing a loud bang or explosion lol. Your instructions are so easy to follow. Excellent and thanks
Connecting 12v may work but as the batteries are LiPo, they should be charged carefully to avoid surprising hazards like swelling or even explosions. So, even if the process takes longer going in safer process is good for everyone.
Thank you for creating a very good product.
if
I ask.
My model is an old DJI Phantom 4.
Does it also work with Phantom 4 batteries?
I would like to purchase it if it is available for use with Phantom 4 batteries.
Have a nice day always.
Sorry brother, This tool doesn’t support Phantom batteries.