← All parts
INA219 Current/Power Monitor
INA219
Texas Instrumentsinterface io display
The INA219 is a digital current and power monitor that uses an I2C/SMBUS interface to measure both shunt voltage drop and bus supply voltage. It offers programmable calibration for direct current and power readouts, with options for conversion times and filtering.
In stock
Specifications
11- Operating Voltage
- 3 V
- Operating Voltage
- 5.5 V
- Bus Voltage Range
- 0 V
- Bus Voltage Range
- 26 V
- Interface
- I2C/SMBUS
- Supply Current
- 1 mA
- Temperature Range
- -40 °C
- Temperature Range
- 125 °C
- Accuracy
- 0.5 %
- Resolution
- 12 bit
- Package
- SOT23-8, SOIC-8
Pinout
8| Pin | Name | Functions | Notes |
|---|---|---|---|
| 1 | IN+ | ADC | Positive differential shunt voltage input. Connect to the positive side of the shunt resistor. |
| 2 | IN- | ADC | Negative differential shunt voltage input. Bus voltage is measured from this pin to ground. |
| 3 | GND | GND | Ground connection. |
| 4 | VS | POWER | Power supply input, 3 to 5.5 V. |
| 5 | SCL | I2C | Serial bus clock line. |
| 6 | SDA | I2C | Serial bus data line. |
| 7 | A0 | GPIO | Address pin for I2C communication. |
| 8 | A1 | GPIO | Address pin for I2C communication. |
Interactive pinout
Highlight:
INA219
Click a pin to copy its name · tap a tag above to spotlight a bus.
Logic level & voltage
Runs from 3-5.5 V (per the datasheet specs) on I2C/SMBus and can measure a bus voltage up to 26 V on the high side independent of its own supply.
Typical uses
- Current / power / voltage monitoring of a load
- Battery and solar power telemetry
- Bench-supply and energy dashboards
Wiring notes & gotchas
- Place the shunt in the high-side path; size it for your max current.
- Up to four addresses via the A0/A1 pins for multiple monitors on one bus.
- Provide I2C pull-ups; keep shunt sense traces short and matched.
Commonly used with
3Starter code
Community starter examples — minimal, unofficial, and provided to get you wiring fast. Verify against the manufacturer datasheet before relying on them.
Arduino (C++)
Arduino library: Adafruit INA219
arduino
// INA219 current / power monitor (I2C) — community starter example
#include <Wire.h>
#include <Adafruit_INA219.h>
Adafruit_INA219 ina;
void setup() {
Serial.begin(115200);
if (!ina.begin()) { Serial.println("INA219 not found"); while (1) delay(10); }
}
void loop() {
Serial.print("V="); Serial.print(ina.getBusVoltage_V()); Serial.print(" V I=");
Serial.print(ina.getCurrent_mA()); Serial.print(" mA P=");
Serial.print(ina.getPower_mW()); Serial.println(" mW");
delay(1000);
}MicroPython
MicroPython library: ina219 (chrisb2/pyb_ina219)
python
# INA219 (ESP32) — community starter example
# lib: chrisb2/pyb_ina219 (ina219.py + logging stub on the board)
from machine import Pin, I2C
from ina219 import INA219
import time
i2c = I2C(0, scl=Pin(22), sda=Pin(21))
ina = INA219(0.1, i2c) # 0.1 ohm shunt
ina.configure()
while True:
print(ina.voltage(), "V", ina.current(), "mA")
time.sleep(1)Wiring
| Pin | Arduino Uno R3 | ESP32 DevKitC (WROOM-32) | Notes |
|---|---|---|---|
| VCC | +5V | 3V3 | Logic 3-5 V |
| GND | GND | GND | |
| SCL | A5/SCL | GPIO22 | I2C clock |
| SDA | A4/SDA | GPIO21 | I2C data |
| Vin+ / Vin- | - | - | In series with the load being measured (up to 26 V bus) |