Check it against a meter
Four readings with a multimeter, taken before any code runs, that between them prove the supply, the ground, the shunt and the direction. Each one has an answer you can check against a number rather than against a feeling.
Four readings
Three of them are taken with the board powered and the load running, and one with everything unplugged. Between them they cover every wire that can be wrong except the two bus lines, which a meter cannot help with.
The one that catches the most
The third — millivolts across the shunt itself, one probe on each end of the rectangular resistor.
It is the reading worth taking because it is the chip's own measurement, made by hand. Divide what you see by the shunt — 0.1 on the TK119, 0.05 on the INA3221 — and you have the current in amps. If that agrees with what the board reports over I²C, the board and the sketch are both right. If it disagrees, the millivolts prove the hardware is working, so the fault is the arithmetic in your sketch: a shunt value, a calibration number, a range. On this set, a reading out by exactly two is almost always the wrong one of 0.1 and 0.05.
Either way you have stopped guessing.
What the numbers should be
| Reading | Expect |
|---|---|
| GND to the supply pin | 3.0 to 5.5 V, and equal to your board's logic rail |
| GND to LOAD + (or CHn −) | the rail, under 26 V |
| Across the shunt, at 500 mA | 50 mV on the TK119, 25 mV on the INA3221 |
| The two − screws, unplugged | continuity, 0 Ω |
Those millivolts are arithmetic rather than a measurement: 500 milliamps through 100 milliohms, and through 50. Scale them for your own load.
Then scan the bus
With those four right, a scan should find 0x40. If it does not, the fault is one of exactly three things: SDA and SCL swapped, an address pad you soldered and forgot, or a second device already sitting at 0x40.
None of them is a broken board, and all three are five minutes.
When it does not work
Then your probes are not where you think they are. The power LED runs from the supply rail through 5.1 kΩ, so a lit LED means the rail is there. Put the black probe on the GND header pin — the first of the four, and the same net as both negative screws — and try again; a probe resting on solder mask rather than on the pad is the usual answer.
The current is not going through the resistor. Either the load is fed from somewhere that misses the board, or one of the four screws has closed on insulation. Both are easy to confirm: unscrew LOAD + with the supply on and see whether the load stops. If it carries on, it has another path.
Check the board is unplugged and the meter is on the continuity range, then try the GND header pin against each screw in turn. All three are one copper net on both boards, so a failure is either a cracked joint on a terminal or a probe on the wrong pad. It is worth finding: that net is what makes the voltage reading possible at all.
Then the fault is SDA and SCL, which no meter reading here covers. The TK119 prints GND, 3V3, SCL, SDA and the INA3221 prints GND, VCC, SDA, SCL — swap the last two wires and scan again. It is the single commonest problem with this pair of boards and it looks identical to a dead board.
Edit this page — content/books/inaset/check-it-against-a-meter.mdx
Questions about this product
See what other owners have asked, and read their solutions.
This page covers several products. Choose yours to see the right 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.