Current through a resistor
A meter can read a voltage by touching two points, but a current has to pass through whatever measures it. The TK119 puts a resistor of a tenth of an ohm in your circuit's positive wire, and an INA219 chip reads the few millivolts the current makes across it.
Current has to go through something
A voltage is a difference between two points, so a meter can read it by touching both. A current is a flow, and the only way to count a flow is to put something in its way. A multimeter's current range does exactly that: the red lead moves to another socket and the meter goes in series with the circuit.
The TK119 does the same job without the meter. Your supply's positive wire goes into the red POWER terminal, your load's positive wire comes out of the black LOAD terminal, and between them every electron the load draws passes through one resistor.
A tenth of an ohm
That resistor is 100 mΩ, a tenth of an ohm, and it is called a shunt: a resistor put in a circuit to be measured rather than to do anything. Ohm's law says the voltage across it is the current times its resistance, so 500 mA makes 50 mV and 1 A makes 100 mV.
A few millivolts is too small to disturb most circuits, and still large enough to measure. The INA219 beside the shunt reads it in steps of 10 µV, which on a tenth of an ohm is 0.1 mA.
What it costs
The shunt is not free. It takes its millivolts from the load, so a 5 V load drawing 1 A sees 4.9 V. And it turns current into heat: at 3.2 A, the most the chip can read, the shunt makes about 1 W. The part is a 2512 resistor rated 2 W, so it gets warm to the touch at the top of the range and stays within its rating.
The two things it reports
The chip measures two voltages: the one across the shunt, and the one from the LOAD + screw down to ground, which is what your load is actually getting. Current and power are worked out from those two, and Two measured, two worked out is about the difference that makes.
The rail can be anything from 0 to 26 V. The chip itself runs from its own supply of 3 to 5.5 V on the header, and talks to your microcontroller over I²C, so a 12 V or 24 V rail never comes near an ESP32's pins.
When it does not work
A little, and in proportion to the current. At 500 mA the shunt drops 50 mV and turns 25 mW into heat; at 3.2 A it drops 320 mV and makes about 1 W. A 5 V load at 1 A sees 4.9 V instead of 5 V. For most loads that is small enough to ignore; for a rail that is already at the bottom of its tolerance it is worth knowing.
Because the numbers are too small and in the wrong place. One count of the INA219 is 10 microvolts, and an ESP32's ADC cannot resolve single millivolts reliably. On a 12 V rail both ends of the resistor also sit near 12 V, far above anything an ESP32 pin may touch. The INA219 is built to sit on that rail and report over I²C.
No. Nothing on the block may go above 26 V, and it measures direct current. It does report the sign, so it can tell a battery charging from the same battery discharging, but a mains supply or a transformer's AC output must never be connected to it.
The two terminals, the header, and the eleven small parts between them.
What is on the board →Edit this page — content/books/ina219/current-through-a-resistor.mdx
Questions about this product
See what other owners have asked, and read their solutions.
TK119 INA219 Current and Voltage Monitor
Loading discussions…
Discuss this article
Ask about this page. The answer stays here, on the page it belongs to, for whoever hits the same wall next.