The current must flow through the VIN+ and VIN- terminals, so the module goes in series with the load. Wiring it in parallel shows zero current.
What the message means
The chip measures the small voltage across a shunt resistor between VIN+ and VIN-. No current through the shunt means no reading.
Fix it in this order
- Connect the supply positive to VIN+, and VIN- to the load positive, so the load current passes through the module.
- Join the ground of the load, the supply and the microcontroller.
- Run an I2C scanner to find the address, commonly 0x40.
- Set the calibration range in the library to match your expected current.
- Check the bus voltage reading first, to confirm the chip talks to you.
- Stay within the voltage and current limits of the module.
Why it happens
The INA219 measures current by reading the small voltage drop across a shunt resistor placed in the path of the load current. The chip then scales that drop to give current, and it reads bus voltage at the same time. If the load is wired beside the module instead of through it, the shunt carries no current, so the current register stays near zero while the bus voltage still reads correctly.
The module needs a common ground with the microcontroller, or its I2C reads become unreliable. The I2C address is set by the A0 and A1 pins, and the default is often 0x40. A library also needs a calibration value that matches the shunt and the expected current range. Without the right calibration, the reading can be scaled wrongly even when the wiring is correct. Check each of these in turn.
If you see this, do this
| You see | Do this |
|---|---|
| Voltage reads, current zero | Not in series with the load. |
| Nothing reads | I2C wiring or address. |
Confirm the fix
- With the load running, measure voltage across VIN+ and VIN- with a multimeter; a small nonzero drop confirms current flows through the module.
- Run an I2C scanner sketch and confirm the module’s address appears; then print the bus voltage and check it matches your supply.
- Compare the printed current with a reference load’s expected draw; if it reads zero while the load runs, recheck wiring and the calibration value.
Common mistake: Many builders assume the module measures current wherever it is connected, so they place it beside the load instead of in series with the supply path.
Related
I2C device not found, battery runtime calculator.
Last reviewed: November 2026. These are the usual causes and the order that finds them fastest. Test on your own board; clones and cables differ.