Battery Stops Charging at 4.0 V (Expected 4.2 V Termination, 20% Termination Current)

Hello Nordic team,

I’m using the Mikroe nPM1300 PMIC Click Board (based on the Nordic nPM1300 PMIC) with an ESP32 over I²C to charge a Li-ion battery.

Setup details:

  • Battery: 3.7 V nominal, 950 mAh Li-ion

  • Configured charge current: 800 mA

  • Termination voltage: 4.20 V

  • Termination current: 20% of charge current (~160 mA)

  • VBUS current limit: 1500 mA (set manually via I²C)

  • NTC monitoring: Disabled

  • Power source: 5 V adapter connected to VBUS

Issue:
The battery stops charging around 4.0 V, even though the termination voltage is set to 4.2 V. Once the battery voltage reaches ~4.0 V, the charging current drops close to zero, and charging does not continue to 4.2 V.

Questions:

  1. Could any internal safety or thermal mechanism cause early termination near 4.0 V?

  2. Does disabling NTC monitoring affect charging accuracy or limit the termination voltage?

  3. Are there specific status bits or event registers I can read to determine why charging stops early?

  4. Could voltage drops on VBUS or board-level limitation cause this behavior?

  5. Are there additional parameters (such as recharge threshold or termination comparator accuracy) that could affect this?

Any guidance on ensuring proper full-charge behavior up to 4.2 V would be appreciated.

Thank you,

Parents
  • Hello,

    When the charging stops, does it go to 0mA immediately or just slowly go down? Charging will slow down anyway when the VTERM is reached and charger goes to constant voltage mode. How is the VBAT measured in your case? With the ADC or with some measurement equipment? How about the charging current? If you have current meter in series with the battery there is also some voltage drop across the meter itself that has to be considered as well.

    1. I cannot think limit that could affect this

    2. No, it will just effect the thermal regulation and JEITA temperature ranges for charging current. 

    3. You can check errors for the charger in the CHARGERERRREASON register. You can check EVENTSBCHARGER1SET register for the charger status events. There are also other event registers you could check, but these are the first ones to check. Note the event registers are latched and you need to clear them if you want to see does it trigger again.

    4. Yes it can be that VBUS is too low, good to check that in this condition. VBUS must be at least 150mV higher than VBAT to be able to charge.

    5. Termination voltage has 1% tolerance, so this is not caused by 1% difference. And for the recharge to activate the battery would first be charged to full anyway.

    You could try to set the termination voltage to 3.9V for example to see does it then stop at 3.9V. This is to see is the control for the BCHGVTERM correct and is there something else in the system limiting the voltage (for example VBUS voltage).

  • Hello,
    Thanks for the troubleshooting hints.

    1. Charging current when it stops
      →Charging Current Stops when It goes to 0 mA immediately (i.e., the charger reports 0 mA once charging finishes).

    2. How VBAT is measured
      VBAT is measured using the ADC.

    3. Termination voltage testing / BCHGVTERM
      → I wanted to try setting termination to 3.9 V to test whether the charger would stop at 3.9 V, but the BCHGVTERM register options in the datasheet don’t allow 3.9 V. I set BCHGVTERM to 4.00 V instead, and charging stops at 4.00 V — so the regulator is following the BCHGVTERM setting as expected.

  • Hi,

    During charging, the VBUS voltage is around 4.9 V, and after charging completes it rises back to 5.0 V.

    I also read the BCHGERRREASON register but did not see any errors reported.

    I tried reducing the charging current to 500 mA, but it didn’t affect the termination voltage.

    When I set the VBUS current limit to the default 10%, the charging stops around 4.13 V.

    So far, charging seems to stop normally without any error indication, but the termination happens earlier than the expected 4.2 V.

    Yes, I do have the nPM1300-EK .

  • Hello, 

    Ok thanks for the information.

    It would be good if you can try to replicate the setup on EK using the same 5V power adapter. Just to make sure there is nothing wrong with the connection or the adapter. Have you measured the 5V adapter output voltage with oscilloscope to see how stable it is? 

  • I have tested  using the nPM1300 EK and configured the charger using the nRF Connect for Desktop –   nPM PowerUP application with the following parameters:

    • Charging current: 800 mA

    • Termination voltage: 4.2 V

    • Trickle/Fast charging threshold: 2.9 V

    • Charging termination: 10% (default)

    I also tested both configurations — with and without a 10 kΩ NTC thermistor .

    The setup was powered using a 5 V adapter. During charging, the VBUS voltage is around 4.9 V, and after charging completes, it stabilizes at 5.0 V. The battery used is a Li-ion (3.7 V nominal, 950 mAh).

    In both cases, the charging still completes around 4.13 V, instead of reaching the expected 4.2 V termination voltage.

  • Hello,

    In nPM PowerUP what does the battery status show? Does it go to constant voltage mode and what is the indicated battery voltage?

    This is with nPM1300-EK and nPM PowerUP with the same settings you mentioned. Once the 4.2V is reached, the charger enters constant voltage mode and the charging current slowly drops from the set 800mA (in this case it has dropped to 550mA).

    Thanks.

  • Hello,

    Here are the screenshots from nPM PowerUP showing the battery status during and after charging with the nPM1300-EK.


    • During charging, the battery voltage gradually rises until it reaches 4.2 V, and the charger enters constant voltage (CV) mode.
    • In CV mode, the charging current slowly decreases from the set 800 mA (in this case, it dropped to around 73 mA) as the battery approaches full charge.

    • Battery charging completed (V = 4.10 V, I = 0 mA, Fuel Gauge = 93.2%)
Reply
  • Hello,

    Here are the screenshots from nPM PowerUP showing the battery status during and after charging with the nPM1300-EK.


    • During charging, the battery voltage gradually rises until it reaches 4.2 V, and the charger enters constant voltage (CV) mode.
    • In CV mode, the charging current slowly decreases from the set 800 mA (in this case, it dropped to around 73 mA) as the battery approaches full charge.

    • Battery charging completed (V = 4.10 V, I = 0 mA, Fuel Gauge = 93.2%)
Children
  • Hello,

    Ok this sounds normal to me. Battery voltage will be lower when charging has ended compared to when you charge it with 73mA (which is roughly the set 10% termination current). The higher the charging current the bigger difference you would see. 

    The fuel gauge accuracy and value depend on the selected battery model and how well it matches with the used battery. 

  • Hello,

    I also tried with another battery to verify the behavior:

    • Battery: 3.85 V, 1200 mAh Li-ion

    • Charging current: 800 mA

    • Termination voltage: 4.35 V

    • Trickle/Fast charging threshold: 2.9 V

    • Charging termination: 10% (default)

    • The first attached screenshot shows the charger operating in Constant Voltage mode, with a battery voltage of 4.37 V and charging current of 111 mA.


    • The second screenshot was captured after charging completed — the application reports 100% full, but the actual measured battery voltage is 4.26 V, while the expected set termination voltage is 4.35 V.

    • Could this early termination be related to the 10% termination current threshold, or possibly a voltage drop between the charger IC and the battery terminals?
      I would appreciate any suggestions or guidance on how to ensure the charger reaches the configured termination voltage, or if there are recommended settings or additional tests to verify this behavior.

  • Hello,

    This is due to battery behavior and internal ESR and it is completely normal to have higher cell voltage with 111mA charging current vs when there is no current sourced to the battery. The battery voltage will also drop slightly when rested due to the battery chemistry. This is considered already on the fuel gauging during the battery modelling that the rested voltage is not the same as the termination voltage. 

    The higher the charging current the higher the termination current and that makes the step bigger when charging stops.

  • Hello,

    When using the IP2312 Battery Charger IC, the charging process stops at around 4.32 V in accordance with the termination voltage setting.

    In contrast, with the Nordic charger IC, the charging does not terminate at the same voltage, indicating a difference in termination voltage behavior.

  • Hello, 

    Not knowing the full details on the IP2312 charger I would assume the difference is in the termination current. It seems it does not have specific termination current, but it relies on timer function to stop the constant voltage charging. So yes it is different in that sense.

Related