

The TP4056 + DW01 is a compact and efficient lithium-ion battery charging and protection module manufactured by Makers. It integrates the TP4056 linear battery charger IC with the DW01 battery protection IC, providing a complete solution for charging and safeguarding single-cell lithium-ion or lithium-polymer batteries. This module is widely used in portable electronics, DIY projects, and battery-powered devices due to its simplicity, reliability, and cost-effectiveness.








| Parameter | Value |
|---|---|
| Input Voltage Range | 4.5V to 6V |
| Charging Current | Adjustable, up to 1A (default: 1A) |
| Battery Voltage | 4.2V (fully charged) |
| Protection Features | Overcharge, over-discharge, and overcurrent |
| Charging Method | Constant Current (CC) / Constant Voltage (CV) |
| Operating Temperature Range | -10°C to +85°C |
| Dimensions | ~25mm x 19mm |
| Pin Name | Description |
|---|---|
| IN+ | Positive input terminal for charging voltage (4.5V to 6V). |
| IN- | Negative input terminal (ground) for charging voltage. |
| BAT+ | Positive terminal for the lithium-ion battery. |
| BAT- | Negative terminal for the lithium-ion battery. |
| OUT+ | Positive output terminal for the load (connected to the battery). |
| OUT- | Negative output terminal for the load (connected to the battery). |
| LED Color | Status Description |
|---|---|
| Red | Charging in progress. |
| Blue | Charging complete or no battery connected. |
Connect the Input Voltage:
IN+ and IN- pins.Connect the Battery:
BAT+ pin.BAT- pin.Connect the Load (Optional):
OUT+ and OUT- pins.Adjust the Charging Current (Optional):
Monitor the Charging Status:
The TP4056 + DW01 module can be used to power an Arduino UNO from a lithium-ion battery. Below is an example of how to connect the module and monitor the battery voltage using the Arduino.
OUT+ and OUT- pins of the TP4056 module to the Arduino's VIN and GND pins, respectively.BAT+ and BAT- pins of the module.IN+ and IN- pins for charging.// Example code to monitor battery voltage using Arduino UNO
const int batteryPin = A0; // Analog pin connected to battery voltage divider
float voltageDividerRatio = 2.0; // Adjust based on your resistor values
void setup() {
Serial.begin(9600); // Initialize serial communication
pinMode(batteryPin, INPUT); // Set battery pin as input
}
void loop() {
int analogValue = analogRead(batteryPin); // Read analog value
float batteryVoltage = (analogValue * 5.0 / 1023.0) * voltageDividerRatio;
// Print battery voltage to the Serial Monitor
Serial.print("Battery Voltage: ");
Serial.print(batteryVoltage);
Serial.println(" V");
delay(1000); // Wait for 1 second before the next reading
}
Module Overheating:
Battery Not Charging:
No LED Indicator:
Load Not Powering On:
Q: Can I use the TP4056 module to charge multiple batteries in series?
A: No, the TP4056 + DW01 is designed for single-cell batteries only. Charging multiple batteries in series requires a specialized charger.
Q: How do I adjust the charging current?
A: Replace the onboard Rprog resistor with a different value. Use the formula Icharge = 1200V / Rprog to calculate the desired charging current.
Q: Can I use the module without a battery connected?
A: Yes, the module can power a load directly from the input voltage, but this is not recommended for long-term use.
Q: What happens if the battery is over-discharged?
A: The DW01 protection IC will disconnect the battery to prevent damage. Reconnect the battery to a charger to restore functionality.