El módulo TP4056 con protección carga baterías Li-Ion y Li-Po de una sola celda de 3,7 V. Además las protege de sobrecarga, descarga profunda y cortocircuito, algo que la versión básica no hace, porque suma el chip DW01A. El sitio AdriRobot describe su esquemático, la corriente de carga y algunas conexiones prácticas, según la nota que publicó Open Electronics el 12 de octubre.
Las variantes del módulo TP4056
Hay varias placas armadas en torno al TP4056. La que no tiene protección solo se encarga de cargar. La que sí la tiene, que es la de esta nota, agrega el DW01A y un MOSFET doble, y con eso resguarda la batería de la sobrecarga, la descarga profunda y el cortocircuito.
Existen también versiones con un convertidor elevador MT3608, ajustable de 4 a 28 V. La J5019, conocida también como HW-357, no protege la batería. La LX-LCBST, en cambio, incorpora además un chip de protección HM5434.
¿Cómo funciona el TP4056?
El TP4056 usa el algoritmo CC/CV, de corriente constante y voltaje constante, propio de las baterías de ion de litio. La carga ocurre en tres fases. Primero, bajo unos 2,9 V, aplica una corriente reducida (carga de mantenimiento o trickle charge) para devolver la celda a un nivel seguro. Después entrega la corriente configurada, de hasta 1 A. Por último, cuando la batería llega a 4,2 V, mantiene ese voltaje y baja la corriente de a poco hasta que la carga termina.
El módulo viene ajustado de fábrica a 1 A, un valor adecuado para celdas como la 18650. La entrada es Micro USB o USB Tipo C a 5 V. Dos LED muestran el estado, rojo mientras carga y azul o verde cuando terminó. Mide 22 × 17,3 × 3,6 mm y pesa 2 g.
Sus especificaciones principales son estas:
- entrada de 4,5 a 5,5 V;
- corriente de carga de hasta 1.000 mA, ajustable con una resistencia;
- voltaje de fin de carga de 4,2 V con 1% de tolerancia;
- protecciones por sobrecarga a 4,3 V, por descarga profunda a 2,4 V y por sobrecorriente a 150 mV;
- temperatura de operación de -10 a +85 °C.
El esquemático, con TP4056, DW01A y FS8205A
En la sección de carga, el TP4056 es un controlador lineal para celdas individuales. La resistencia R3, de 1,2 kΩ, fija la corriente en cerca de 1 A. Dos LED con resistencias de 1 kΩ indican carga en curso y fin de carga, y un condensador de 0,1 µF estabiliza el chip.
La protección queda a cargo del DW01A, que vigila la celda, y del FS8205A, un MOSFET doble. Cuando el DW01A detecta una condición anormal, apaga los MOSFET y aísla la carga.
El módulo tiene tres pares de terminales. IN+ e IN- reciben los 5 V, como alternativa al conector USB. B+ y B- van a la batería, mientras OUT+ y OUT- alimentan la carga. La carga tiene que ir conectada a OUT+ y OUT-, no directo a la batería, porque de lo contrario las protecciones no actúan.
¿Cómo se ajusta la corriente de carga?
La corriente depende de la resistencia Rprog, conectada al pin 2 del TP4056. La fórmula es I = Vprog / Rprog × 1200, con Vprog igual a 1 V.
| Rprog | Corriente de carga |
|---|---|
| 1,2 kΩ | 1 A |
| 2 kΩ | cerca de 580 mA |
| 3 kΩ | 400 mA |
| 5 kΩ | 250 mA |
| 10 kΩ | 130 mA |
Para una batería pequeña, por ejemplo de 500 mAh, conviene subir Rprog. Así la corriente baja y se evita dañar la celda.
Conexiones prácticas y uso con Arduino
En la conexión básica la batería va a B+ y B-, y los 5 V entran por el USB o por IN+ e IN-. Se carga una sola batería a la vez y hay que respetar la polaridad. A 1 A el chip se puede calentar, así que es mejor montarlo en un lugar ventilado. Tampoco se recomienda alimentar una carga pesada, como un motor, mientras la batería se está cargando, porque el módulo podría no reconocer el fin de carga.
Para un microcontrolador de 3,3 V, la salida OUT+ y OUT- alimenta un convertidor DC/DC CN3903, que mantiene estable el voltaje aunque la batería baje de 4,2 a 3,0 V. La solución apunta a ESP8266, ESP32-C3, STM32 y sensores IoT. Para voltajes más altos, la misma salida puede alimentar un elevador MT3608, ajustable de 5 a 28 V, útil en power banks hechos a medida e instrumentos portátiles. En los dos casos el convertidor se conecta a OUT+ y OUT-.
Con un Arduino UNO, el estado de la carga se lee desde los pines CHRG (7) y STDBY (6) del TP4056. Un nivel bajo en el primero indica carga en curso, y en el segundo, carga completa. Con una placa conectada a la red, como un ESP32-C3, la batería se puede vigilar además a distancia.
Si la batería no carga, hay que revisar el voltaje en VCC, que debe estar entre 4,0 y 8,0 V. Después, el valor de Rprog y la conexión a los pines BAT y GND. Si lo que pasa es que el chip se calienta, se baja la corriente o se mejora la disipación.
El artículo original de AdriRobot incluye también el sketch para Arduino UNO y la tabla de pines del TP4056.






