The TP4056 is a CC/CV linear charger for single-cell Li-Ion/LiPo batteries, SOP-8 package. Charge voltage: 4.2V ±1%. Current: programmable up to 1A via one resistor. If you've used a USB battery charger module in the last five years, it probably had a TP4056 on it.
It's also one of the most misused ICs in hobbyist electronics. The mistakes are predictable: charging under load, skipping thermal vias, trusting the DW01 to handle everything, and pumping 1A into a 300mAh cell. This page covers the pinout, specs, and seven most common mistakes — with fixes.
| Pin | Name | Type | Function |
|---|---|---|---|
| 1 | TEMP | Input | Battery temperature sense. Connect NTC thermistor to GND. If voltage <45% or >80% of VCC, charging pauses. Ground to disable. |
| 2 | PROG | I/O | Charge current set. Connect RPROG to GND. 0.1V in trickle, 1V in CC mode. IBAT = 1200 / RPROG (kΩ). |
| 3 | GND | Power | Power ground. Exposed thermal pad connects here. |
| 4 | VCC | Power | Supply input: 4.0–8.0V. Typical 5V from USB. Chip enters sleep (~2µA) when VCC − VBAT < 30mV. |
| 5 | BAT | Output | Battery connection. Regulates to 4.2V. Leakage <2µA in standby. |
| 6 | STDBY | Output | Charge complete indicator (open-drain). LOW when done; high-Z otherwise. Drive an LED through 1kΩ to VCC. |
| 7 | CHRG | Output | Charging indicator (open-drain). LOW during charge; high-Z when done or disabled. Drive an LED through 1kΩ. |
| 8 | CE | Input | Chip enable. HIGH or float = on; LOW = disabled. TTL/CMOS compatible. |
| Parameter | Value |
|---|---|
| Charge Method | CC/CV (Constant Current / Constant Voltage) |
| Charge Voltage (VBAT) | 4.2V ±1% |
| Max Charge Current | 1000mA (programmable via RPROG) |
| Input Voltage (VCC) | 4.0V to 8.0V (absolute max 10V) |
| Precharge Threshold | VBAT < 3.0V → trickle at ~10% of ICHG |
| Charge Termination | C/10: when current drops to 10% of programmed value |
| Standby Current | ~2µA (VCC removed or CE low) |
| Thermal Regulation | Throttles current when die temp reaches ~120°C |
| Undervoltage Lockout | VCC < 3.7V → Chip disabled |
| Package | SOP-8 / ESOP-8 (exposed thermal pad) |
| Manufacturer | TPOWER (NanJing Top Power ASIC Corp.) |
Current programming formula: IBAT = 1200 / RPROG (where RPROG is in kΩ and IBAT is in mA). 1.2kΩ = 1000mA, 2kΩ = 580mA, 10kΩ = 130mA. The golden rule: charge at 0.5C maximum. A 500mAh cell at 250mA max. A 300mAh LiPo at 1A is a fire risk.
Basic charging circuit: USB 5V → TP4056 → Li-Ion battery. Two 10µF ceramic caps close to VCC and BAT. RPROG sets charge current. CHRG LED (red) during charge, STDBY LED (green) when done. For protected modules: load to OUT+/OUT−, never B+/B−.
Load sharing modification: The TP4056 can't distinguish battery current from load current alone. Add a P-ch MOSFET (DMG3415) and Schottky diode. USB absent → MOSFET connects battery to load. USB present → load runs from USB, TP4056 charges battery independently. No termination confusion.
1. Connecting load to B+/B− instead of OUT+/OUT−. B+/B− are raw battery terminals before the DW01A. Connecting load here bypasses over-discharge, over-current, and short-circuit protection entirely. If your module has OUT terminals, use them. If not, you have the unprotected variant.
2. Charging while load is active (no load sharing). The TP4056 terminates at C/10. If a load draws >C/10, the charger never sees termination and trickle-charges indefinitely. This degrades the battery. Disconnect the load during charging, or add a load-sharing circuit.
3. Charging at 1A into a small cell. Default 1.2kΩ RPROG = 1A. A 300mAh LiPo at 1A is >3C — far above the 0.5C safe limit. The cell heats rapidly, potentially venting. Always calculate: RPROG (kΩ) = 1200 / desired ICHG (mA). A 500mAh cell needs RPROG ≥ 4.8kΩ (250mA).
4. Skipping thermal vias on the exposed pad. At 5V in, 3.5V battery, 1A: dissipation = 1.5W. The exposed pad is the only heat path. Without 4–6 vias to a GND plane, the chip hits 120°C thermal regulation and silently throttles — turning your 1-hour charge into 4.
5. Using TP4056 with LiFePO4 cells. LiFePO4 terminates at 3.65V. The TP4056 charges to 4.2V. Connecting a LiFePO4 cell to a TP4056 overcharges it by 0.55V per cell, rapidly destroying it. Use a dedicated LiFePO4 charger IC (e.g., CN3058, TP5000 with LiFePO4 mode).
6. Assuming the DW01A's 2.4V cutoff protects battery health. The DW01A disconnects at ~2.4V — this is an emergency cutoff to prevent catastrophic failure, not a battery-health threshold. Regularly discharging to 2.4V dramatically shortens cycle life. Implement a firmware-level cutoff at 3.0–3.2V in your MCU for normal operation.
7. Sealed enclosure with no ventilation. At 1.5W dissipation in a sealed 50×30×20mm enclosure, the internal temperature can easily exceed 80°C. The TP4056 throttles, but the battery also cooks — Li-Ion cells degrade rapidly above 45°C. Add ventilation holes, or use a switching charger (TP5100) for enclosed designs.
A: The battery is below 3.0V and in precharge (trickle) mode. The TP4056 delivers ~10% of programmed current until the battery reaches 3.0V. If your battery is deeply discharged, this can take 30–60 minutes. It's not a fault — it's protecting the cell. If the battery never rises above 3.0V, check whether your load is drawing the trickle current and preventing the battery voltage from climbing.
A: Not without a load-sharing circuit. The TP4056 terminates when current drops to C/10. If your load draws >C/10, the charger never terminates. Add a P-channel MOSFET + Schottky diode load-sharing circuit, or physically disconnect the load during charging.
A: Protected (DW01A + 8205A), almost always. The protected variant adds over-charge, over-discharge, over-current, and short-circuit protection for about $0.20 more. The only time you'd use unprotected is when your system already has a dedicated BMS or fuel gauge IC handling protection, or when the module must be as small as possible.
A: Linear regulation = heat. At 5V input and 3.5V battery at 1A, dissipation is (5 − 3.5) × 1 = 1.5W. Solutions: reduce charge current (increase RPROG), improve PCB thermal design (vias under exposed pad), or switch to a switching charger (TP5100) for lower heat.
A: Only with isolated power supplies per cell. Each TP4056 needs its own galvanically isolated 5V supply. Connecting multiple TP4056 modules to the same USB supply with cells in series creates a short circuit through the shared ground. For multi-cell packs, use a dedicated multi-cell BMS with balance charging.
A: Either the battery never reaches 4.2V (damaged cell), or a load is drawing current preventing C/10 termination, or the input voltage is below 4.2V keeping the charger in CC mode permanently. Disconnect the load. If the LED still never turns off, test the battery voltage — a healthy cell should reach 4.15–4.20V within a few hours.
A: Yes — ground the TEMP pin. Most modules do this by default. If you want temperature monitoring, cut the TEMP-to-GND trace and add a 10k NTC thermistor from TEMP to GND, with a 10k resistor from TEMP to VCC. Charging pauses if TEMP voltage drops below 45% or rises above 80% of VCC.





