

The TP4056 Type-C is a lithium battery charger IC designed for charging single-cell lithium-ion batteries. It provides a constant current/constant voltage (CC/CV) charging profile, ensuring safe and efficient charging. The inclusion of a Type-C interface allows for modern and convenient connectivity. With built-in thermal regulation, over-voltage protection, and automatic charge termination, the TP4056 Type-C is ideal for portable electronics, power banks, and DIY battery-powered projects.








| Parameter | Value |
|---|---|
| Input Voltage Range | 4.5V to 6V |
| Charging Voltage | 4.2V ± 1% |
| Maximum Charging Current | 1A (adjustable via external resistor) |
| Charging Method | Constant Current/Constant Voltage (CC/CV) |
| Interface | USB Type-C |
| Operating Temperature Range | -40°C to +85°C |
| Protection Features | Over-voltage, over-temperature, reverse polarity |
| Pin Name | Pin Number | Description |
|---|---|---|
| VCC | 1 | Input power supply (4.5V to 6V). Connect to Type-C input. |
| BAT | 2 | Battery connection pin. Connect to the positive terminal of the battery. |
| GND | 3 | Ground pin. Connect to the negative terminal of the battery and power supply. |
| PROG | 4 | Charging current programming pin. Connect a resistor to set the charging current. |
| STAT1 | 5 | Charging status indicator (active low). Connect to an LED for visual indication. |
| STAT2 | 6 | Charging complete indicator (active low). Connect to an LED for visual indication. |
| TEMP | 7 | Temperature monitoring pin. Connect to an NTC thermistor for thermal regulation. |
| CE | 8 | Chip enable pin. Pull high to enable charging, low to disable. |
If you want to monitor the charging status using an Arduino UNO, you can connect the STAT1 and STAT2 pins to digital input pins on the Arduino. Below is an example code snippet:
// Define the pins connected to STAT1 and STAT2
const int stat1Pin = 2; // STAT1 connected to digital pin 2
const int stat2Pin = 3; // STAT2 connected to digital pin 3
void setup() {
pinMode(stat1Pin, INPUT); // Set STAT1 as input
pinMode(stat2Pin, INPUT); // Set STAT2 as input
Serial.begin(9600); // Initialize serial communication
}
void loop() {
int stat1 = digitalRead(stat1Pin); // Read STAT1 pin
int stat2 = digitalRead(stat2Pin); // Read STAT2 pin
if (stat1 == LOW) {
Serial.println("Charging in progress...");
} else if (stat2 == LOW) {
Serial.println("Charging complete!");
} else {
Serial.println("No battery connected or idle state.");
}
delay(1000); // Wait for 1 second before checking again
}
The battery is not charging.
The IC is overheating.
The status LEDs are not lighting up.
The charging current is too high or too low.
Q: Can I use the TP4056 Type-C to charge multiple batteries in series?
A: No, the TP4056 Type-C is designed for single-cell lithium-ion batteries only. Charging multiple batteries in series requires a specialized charging circuit.
Q: What happens if the input voltage exceeds 6V?
A: Exceeding 6V can damage the IC. Always ensure the input voltage is within the specified range.
Q: Can I use the TP4056 Type-C without the TEMP pin?
A: Yes, the TEMP pin can be left unconnected if temperature monitoring is not required. However, this disables thermal regulation.
Q: How do I adjust the charging voltage?
A: The charging voltage is fixed at 4.2V and cannot be adjusted. For other voltages, consider using a different charger IC.
This concludes the documentation for the TP4056 Type-C.