TP4056 Charger Interface

I have a project where I want to integrate a TP4056 lipo charger with an Arduino Pro Mini 3.3v.

I would like to remove the LEDs from the charging circuit and connect the "CHRG" and "STDTY" outputs to digital pins on my board.

My code would check to see if there is a signal from either one, and use its display to notify the user if the charger was plugged in and the charge state of the battery (standby = fully charged , CHRG = charging).

I'm not too worried about the programming but I'm having a hard time figuring out how to read those pins, since they are on the negative side of the circuit.

Any ideas?


Remove the LEDs, leave the pullups, and read from pins 6 & 7. Will be LOW when the LEDs would have been on. Probably can raise the resistors to 1K or 10K even.

LED resistors are already 1k.
You can just short the LEDs, and tap from pin 6 and 7.

Or leave the LEDs in, tap from 6 and 7, and enable Arduino’s internal pull-up resistor for a clean “high”.

Thanks, I went with Leo's suggestion of leaving the LEDs in. Worked perfectly. I appreciate the help.

Hi there.
I am also trying to get “charging” signal from TP4056 that has BuckBooster (4.2v to 5v) before Arduino, but have no luck.

I took the charging led off and soldered it as a bridge.
When i measure from Arduino Ground against TP4056 pin 7 after the 1k pullUp resistor, voltage is about 1.2v but the digitalRead(PIN) does not regognise the 0 level.

When I ground the Arduino CHARGING_PIN, LOW level is regognised.


Well.. it worked if i connect the TP4056 PIN 7 direcly before 1k pullUp resistor and have it in code.