INA219 DC current/voltage sensor
INA219 breakout pinout, high-side wiring for DC up to 26 V, the 0.1 Ω shunt and ±3.2 A range, I2C addresses 0x40–0x4F and calibration.
Community draft — report a mistake
3.3 V or 5 V? Power VCC from your board's logic voltage (3.3 V or 5 V); the I2C pull-ups go to VCC, so they match your board.
The INA219 measures DC current, bus voltage (up to 26 V) and power with 12-bit resolution. It sits on the high side — in series with the positive wire between source and load — and measures the tiny voltage across a 0.1 Ω shunt resistor, giving about ±3.2 A full scale.
It’s ideal for solar panels, battery packs, tower/router backup batteries and USB power profiling. With 16 possible addresses (A0/A1 pads), several can share one I2C bus.
DC only. It is not for mains: never connect it to 230 V AC.
Prices are indicative (Oct 2026) and vary by seller.
Pinout
| Pin | What it does |
|---|---|
VCC | 3.0–5.5 V logic supply |
GND | Ground (must be shared with the measured circuit) |
SCL | I2C clock |
SDA | I2C data |
VIN+ | Shunt input from the power source (+) — screw terminal |
VIN- | Shunt output to the load — screw terminal |
I2C address:0x400x410x440x45
Library
Adafruit INA219 by Adafruit
Arduino IDE → Library Manager → search the name above. Each guide lists the exact version we compile against.
Use it with
- INA219 DC current/voltage sensor with Arduino Nano Arduino C++
- INA219 DC current/voltage sensor with Arduino Uno R3 Arduino C++
- INA219 DC current/voltage sensor with ESP32-C3 SuperMini Arduino C++
- INA219 DC current/voltage sensor with ESP32 DevKit V1 Arduino C++
- INA219 DC current/voltage sensor with NodeMCU ESP8266 Arduino C++
- INA219 DC current/voltage sensor with Raspberry Pi Pico W MicroPython
Common errors
Bus voltage reads 0 V
The INA219 measures bus voltage on VIN−, referenced to GND. The measured circuit's ground must connect to the module GND.
Current saturates around 3.2 A
That's the limit with the stock 0.1 Ω shunt. Fit a smaller shunt and recalibrate for more current.
Address not found
Default is 0x40; the A0/A1 solder pads move it (up to 16 addresses). Run the I2C scanner.