Battery calibration on Xiaomi Redmi 9: a complete guide with proven methods

Xiaomi Redmi 9, with its capacious 5,020 mAh battery, should hold a charge for at least a day with moderate use, but over time, many users find that the battery suddenly sinks from 40% to 1%, and after charging, the rate jumps from 0% to 20%, classic symptoms of power controller desynchronization, a problem that calibration solves.

Unlike the myths of β€œtraining” lithium-polymer batteries (which do not require cyclic discharge), the Redmi 9 calibration is specifically for resetting software charge counter errors. It will not restore worn-out battery cells, but will return adequate charge readings and prevent sudden outages. In this article, three working calibration methods (including those hidden through ADB), a controller error table, and answers to frequent questions on the Redmi 9 battery.

Why Redmi 9 Battery Lies: 5 Reasons to Calibrate

The power controller in Xiaomi Redmi 9 (BM47 battery model) is designed for 500-800 full charge cycles, but even when used carefully, failures occur over time.

  • πŸ”‹ Hopping charge: when connecting charging, the level jumps from 1% to 15-20% per second.
  • ⚑ Instant Shutdown: The phone turns off at 10-15% charge, although it should run up to 1-2%.
  • πŸ“‰ Inadequate consumption: battery β€œmelt” by 30-40% per hour in standby mode.
  • πŸ”„ Cyclical recharge: after 100%, the phone immediately shows 98-99% and starts charging again.
  • πŸ›‘ Charging error: A notification appears saying "Charging suspended. battery temperature too high/low" under normal conditions.

The main reason for these problems is the desynchronization of data between the battery controller and the battery. MIUI. The operating system stores capacity information in a file /sys/class/power_supply/battery/capacity, And the hardware controller is in its memory, and if these values don't match, it gets a "glitch" with the charge display.

⚠️ Warning: If after calibration the problem persists and the battery is swollen or the phone overheats when charging, this is a sign of physical wear and tear on the battery.

πŸ“Š Have you experienced battery problems on the Redmi 9?
Yeah, the charge jumps.
Yeah, it's discharged fast.
No, it's okay.
I don't know how to check.

Method 1: Calibration through MIUI settings (without root)

The safest way to run Redmi 9 with any version MIUI (including MIUI 14 on Android 12. It doesn't require superuser rights and is suitable for beginners. + charging with subsequent battery data reset.

Instructions:

  1. Discharge your phone before it turns off: Use it in active mode (games, video, navigator) until it shuts down on its own. Don't turn it on right away!
  2. Connect to charging: Use the original Xiaomi adapter (18W) and cable. Leave to charge for at least 3 hours, even if the indicator shows 100%.
  3. Turn on your phone and check the charge level. If it's less than 100%, add it to full.
  4. Reset the battery: Go to Settings β†’ About Phone β†’ MIUI Version. Tap 7-10 times on the line with the version until the notification β€œYou’ve become a developer” appears. Go back to Settings β†’ Additional β†’ For developers. Find the Battery Data Reset and confirm the action.
  5. Reboot your phone and check the charge readings.

This method works in 70 to 80 percent of cases, and if you have a problem, you can move on to the following.

Use the original charging Xiaomi

Discharge the phone before automatically shutting down

Charge at least 3 hours after reaching 100%

Enable the developer mode

Reset the battery data in the settings-->

Method 2: Calibration through ADB (for power users)

If a standard reset doesn't work, you can manually reset your battery data via Android Debug Bridge (ADB), a technique that requires you to connect your phone to your computer, but doesn't need root rights. It's effective when the power controller hovers on incorrect values.

Step-by-step:

  1. Install. ADB-Drivers: Download Platform Tools from the official Android website. Unpack the archive in a folder C:\platform-tools. Turn on the phone to debug. USB In Settings β†’ For developers.

Connect your phone to your PC

Shift + right-button β†’ Open the PowerShell window here

Check the connection.

adb devices

There should be a device with a serial number.

Reset the battery data.

adb shell dumpsys battery reset

Then do this:

adb shell dumpsys batterystats --reset

Reboot the phone.

adb reboot

After rebooting, perform a full discharge-charging cycle (as in Method 1) so that the controller recalculates the capacity.

⚠️ Attention: Do not interrupt the process ADB-commands and don't shut down USB-This can cause a system failure that requires resetting.

adb shell su -c "echo 1 > /sys/class/power_supply/battery/force_discharge"

But that will require root rights.-->

Method 3: Manual calibration through engineering menu (hidden method)

Redmi 9 has a hidden engineering menu that allows you to manually reset your battery data, which is more risky than previous methods, but sometimes helps when other methods do not work.

Instructions:

  1. Open the Phone app and enter the combination: ##4636## Testing menu will open.
  2. Select the Battery Information item.
  3. Note the charge level parameter: If it is very different from the real one (e.g., it shows 80% when the phone just went off), a reset is required.
  4. Go back to the main menu and select Battery Settings (if there is one).
  5. Press the Battery Calibration (or Reset Battery Stats) and confirm the action.

If the capacity has fallen below 60% of the original, it is time to change the battery.