Texas Instruments · Integrated circuit
INA219 Current and Power Monitor
Measures current and voltage on a rail up to 26 V and reports both over I2C, while running from 3.3 V itself. The part behind most USB power meters.
- Logic level
- 3-5.5 V supply, senses up to 26 V
- Package
- SOIC-8 (D) shown; SOT-23-8 (DCN) differs
1.Pinout diagram
Highlight a signalhover to preview, click to keep
Pins 1-4
Pins 5-8
Pin detail
Hover a pin for its mappings and gotchas. Click to keep it here.
- Logic level
- 3-5.5 V supply, senses up to 26 V
- Package
- SOIC-8 (D) shown; SOT-23-8 (DCN) differs
Fig. 1. INA219 Current and Power Monitor, SOIC-8 (D) shown; SOT-23-8 (DCN) differs. Hover or tap a signal to light up every pin that carries it.
2.Watch out
- The two packages are not the same pinout. This diagram is the SOIC-8. On the SOT-23-8 the order is 1 IN+, 2 IN-, 3 GND, 4 VS, 5 SCL, 6 SDA, 7 A0, 8 A1, which is close to reversed. Check which package you have before probing.
- It is a high-side sensor: IN+ and IN- sit at up to 26 V common mode while the chip itself runs from 3 to 5.5 V. That is the whole point of the part, and it is why the shunt goes in the positive rail rather than the ground return.
- The current and power registers read zero until you write the calibration register. Nothing is broken, and the shunt and bus voltage registers work the whole time, which is what makes this confusing. Calibration is also what sets the current LSB.
- Full-scale shunt voltage is +/-40 mV with the PGA at /1 and +/-320 mV at /8. Bus voltage has two ranges, 16 V and 32 V. Picking the smallest range that fits buys you resolution.
- A0 and A1 each go to GND, VS, SDA or SCL, not just to a rail, which is how eight address pins' worth of range comes out of two: 16 addresses, 0x40 to 0x4F.
- Breakout boards almost always carry a 0.1 ohm shunt, which hits full scale at 3.2 A. For more current you replace the resistor and recalculate, and for much less you want a larger one or the shunt voltage disappears into the noise.
- The INA226 is the same idea with 16-bit resolution and an alert pin. Not a drop-in: different pinout and a different register map.
3.Minimum high-side sensing circuit
What has to go around the chip before it will run.
| Part | Between | Why |
|---|---|---|
| 0.1 ohm 1% shunt | IN+ (8) to IN- (7) | The sense element. Everything is derived from the voltage across it, so its tolerance is your accuracy floor. |
| 0.1 uF ceramic | VS (5) to GND | Supply decoupling at the pin. The ADC samples against this rail, so noise on it lands in your readings. |
| 4.7 kOhm | SDA (3) to VCC | I2C pull-up on SDA. The bus is open drain and cannot pull itself high. |
| 4.7 kOhm | SCL (4) to VCC | I2C pull-up on SCL. One pair per bus, not per device. |
| Address link | A1 (1) to GND | A1 to ground. Both address pins must be tied somewhere; floating gives an address that moves. |
| Address link | A0 (2) to GND | A0 to ground, which with A1 gives address 0x40. |
The shunt goes in the positive rail between the supply and the load, with IN+ toward the supply. Bus voltage is measured from IN- to ground, so IN- is the load side.
4.Full pin reference
Every pin, alias and mapping. This is the table that prints.
Table 2. Pin assignments.
| Pin | Name | Also called | Functions | Notes |
|---|---|---|---|---|
| 1 | A1 | - | Address bit 1 | To GND, VS, SDA or SCL. Four states, not two. |
| 2 | A0 | - | Address bit 0 | Both pins to GND gives 0x40. |
| 3 | SDAI²C | - | I2C data | Open drain. Needs a pull-up. |
| 4 | SCLI²C | - | I2C clock | Open drain. Fast mode to 400 kHz, high speed to 2.56 MHz. |
| 5 | VS3-5.5 V | VCC, VDD | - | Powers the chip only. It does not limit what the sensed rail may be. |
| 6 | GND | - | - | |
| 7 | IN-ADC | VIN- | Shunt negative, Bus voltage sense | Load side of the shunt. Bus voltage is measured from here to ground, so this is the node whose voltage you get. |
| 8 | IN+ADC | VIN+ | Shunt positive | Supply side of the shunt. Common mode up to 26 V, whatever VS is. |
Primary sources
Found a wrong pin? The whole board is one file, data/boards/ina219.json.