Fake TP4056 Charge Curve Tester With INA219




Introduction: Fake TP4056 Charge Curve Tester With INA219

Why its needed
I’ve been using TP4056 modules for a while now, and have just recently found out that there are tons of fake modules out there now. It’s actually really difficult to find genuine TP4056 chips. This blog has a great outline for identifying some of the chips and the potential problems with them. I wanted a cheap and effective way to test my TP4056 modules to make sure that I am not damaging any 18650 cells.

You can also check out this project on my website:


Step 1: Dummy 18650

To interrupt the current path in the 18650 charging circuit, we need to either slot 2 pieces of wire and a separation material in the positive end of the 18650 holder, or make a dummy 18650 cell, and put another 18650 holder on top of everything. I designed an 18650 cell in fusion 360 (it was very simple) and added a loop on the top of it to easily get it in and out of any testing station or TP4056 modules. You can find the file for it on here (coming soon).

Step 2: Other Parts and Connections

The only parts needed for this project are an INA219 current sensor, a micro SD card holder, and of course, an Arduino nano. On each end of the dummy 18650, insert a nickel strip (used for spot welding) or a piece of solar busbar. Connect the all together, using SPI for the micro SD Card holder and I2C for the INA219 module. One ground wire from the Aduino must be connected to the negative side of the 18650 cell to allow the INA219 to measure the voltage as well. The CS (Chip Select) pin of the micro SD card reader can be connected to any Arduino Pin, but most examples use pin 4, so I will stick with that to avoid modifying code.

Step 3: Code

To get the current flowing into the 18650 cells, and the voltage of the 18650 cells, we need the load voltage and the current from the INA219 module. Adafruit’s library is very easy to use, and works well. As for logging data to the SD card, we can use the built-in SD library, use a string to hold each line of data, separating each value (load voltage, current, bus voltage) by a comma so that it is easy to import into excel and create graphs.

Step 4: Charging Graphs

So far, I have not found any of the TP4056 modules that I have to be problematic, but I will keep testing them.



    • Microcontroller Contest

      Microcontroller Contest
    • Science of Cooking

      Science of Cooking
    • Pocket-Sized Contest

      Pocket-Sized Contest

    We have a be nice policy.
    Please be positive and constructive.