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.

  • 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.

  • Thank you for the clarification.
    Could you please provide your final suggestions or best practices to achieve accurate charging termination at 4.2 V?
    I’d like to ensure consistent performance similar to the intended termination voltage behavior.

  • Hello, 

    Note the termination current is typically specified in the battery datasheet. This is for safety reasons and avoiding overcharging the battery. So if you will follow the battery manufacturer guidance for charging the battery you will see this voltage step between the termination voltage and the cell voltage when charging has ended. If you want to get smaller termination current (and get closer to the termination voltage when charging stops) you can adjust the charging current lower through TWI. Unfortunately the lowest termination current is 10% of the charging current, so to get lower you would have to change the charging current itself. 

  • Hello,

    Thank you for the detailed information.
    As the termination current is fixed at 10% of the charging current, would it be possible to automatically reduce the charging current after the battery reaches about 80% SoC to achieve a lower termination current and a termination voltage closer to 4.2 V?

Reply Children
  • Hello, 

    We don't have that kind of automatic behavior in the PMIC if that is the question. But it could be done with SOC/software control if needed. 

  • Hello,

    I have tried increasing the termination voltage to 4.30 V to reach the expected battery voltage of 4.20 V.
    However, every time on the first power-on, the charging stops at around 4.13 V.
    After re-enabling charging, the battery then charges up to 4.20 V as expected.

    This behavior is observed using the nPM1300 EV Kit with the nPM PowerUP application.
    Could you please share your suggestions or possible reasons for this behavior, and how it can be adjusted so the charging reaches 4.20 V on the first cycle?

  • Hello, 

    Does the voltage after charging period increase on each subsequent charging cycles? What is the maximum specified charging voltage for the battery? Increasing the termination voltage above the maximum charge voltage might cause also the battery PCM to prevent overcharging of the battery. 

    Do you have picture of the test setup? Long wires for the battery can cause considerable voltage drop. 

    Could you also share the datasheet for the battery? 

    After charging is completed at 4.2 V as per datasheet, the battery voltage naturally relaxes to a slightly lower value (e.g., 4.13 V) due to electrochemical relaxation. This is a normal behavior and does not indicate a loss of capacity or partial charge. Only if charging is terminated at very tiny currents would it stay very close to 4.2 V. 

  • Hello,

    Thank you for your response. I didn’t get the datasheet for the battery.

    Since I don’t have the official datasheet, I am assuming the maximum charging voltage is 4.20 V, as this is typical for 3.7 V Li-ion cells.

    I The test setup photo is attached above.

    I don’t have the matching battery connector, so I have connected the battery positive to the VBAT pin, battery negative to GND, and used a 10 kΩ resistor at the R9 position for the NTC input.

  • Hello, 

    Note you should check the battery datasheet for the charging current spec. It can be 0.5C for instance and not 1C. The jumper wires+connectors can easily add extra resistance of 20-30mohm which will cause ~20mV difference between charger and the cell voltage. So this will add to the difference seen between charging voltage and the battery rested voltage. Shorter wires directly soldered to the board is recommended in this case. 

Related