INA219 PCB Design Guide: Footprint, Pinout, and Alternatives
Bidirectional I2C current, voltage, and power monitor for rails up to 26 V.
The INA219 is TI's zero-drift, bidirectional current, voltage, and power monitor: it senses the drop across a shunt resistor on rails anywhere from 0 to 26 V, digitizes both shunt and bus voltage, and, once its calibration register is programmed, reports current in amperes and power in watts directly over I2C or SMBus. The chip runs from its own 3 to 5.5 V supply at 0.7 mA typical, offers four programmable shunt ranges from ±40 mV to ±320 mV full-scale, and sixteen pin-strappable addresses let one bus carry a rack's worth of monitors from a SOT-23-8 or SOIC-8 footprint.
Its honest position: the INA219 is the entry-level digital power monitor, and the right call when 12-bit resolution, a 26-V ceiling, and polled readout are enough — battery gauging, wall-adapter loads, telemetry on server and telecom rails. It has no alert output or limit comparator, so anything that must react to an overcurrent event needs the INA226 (36-V bus range, 16-bit ADC, alert pin) or the INA209's watchdog rather than software polling at 532-µs conversion granularity. If all you want is an analog voltage proportional to current into an ADC you already have, the INA210 family is cheaper and simpler. When accuracy matters, buy the B grade: ±50 µV max offset and ±0.3% max current error versus the A grade's ±100 µV and ±0.5%.
Most INA219 tickets trace to the same five board-level mistakes: powering VS from the rail being monitored, current and power registers that read zero because nobody wrote the calibration register, bus-voltage readings corrupted by a missed 3-bit shift, shunt sensing spoiled by trace resistance, and unprotected inputs on rails that see shorts or inductive kickback. Each is covered below.
What breaks boards
VS powers the chip at 3 to 5.5 V; the monitored bus never touches it
The INA219 has two independent voltage domains. IN+ and IN− ride the monitored rail at 0 to 26 V common mode, and withstand that range whether or not the chip is powered. VS runs the chip from 3 to 5.5 V with a 6-V absolute maximum, so wiring VS to the 12-V rail you are measuring destroys the part. And do not read the BRNG = 1 "32-V" bus range as permission: that setting only expresses the ADC's full-scale scaling, and in no event should more than 26 V be applied to the device.
Current and power registers read zero until you write the calibration register
The Calibration register resets to zero, and until it is programmed the Current (04h) and Power (03h) registers stay at zero no matter what flows through the shunt — the classic INA219 bring-up bug. Compute the calibration value from your shunt resistance and chosen current LSB and write it to 05h. All registers are volatile: reprogram after every power cycle and after any reset. If raw readings are enough, skip calibration entirely and read the shunt-voltage and bus-voltage registers directly; they work at the 399Fh power-on defaults.
Bus voltage is measured at IN−, and the register needs a 3-bit shift
Two related driver bugs. First, the bus-voltage channel measures from the IN− pin to ground — the load side of a high-side shunt — so it reports the supply minus the shunt drop. That is negligible at the 40-mV full-scale range but grows at the higher PGA settings. Second, the Bus Voltage register is not right-aligned: shift the contents right by three bits before multiplying by the 4-mV LSB, or every reading is nonsense. The Shunt Voltage register, by contrast, is read directly at 10 µV per LSB.
Kelvin-connect the shunt, and match the PGA range to it
Route IN+ and IN− to the shunt as a Kelvin (4-wire) connection, sensing at the resistor body rather than on the high-current trace: shunts are milliohm-class parts, so a few squares of copper in the sense path add real measurement error. Then size the ranges. The part powers up at PGA = /8 (±320 mV full-scale); if your shunt never develops more than 40 mV, drop to PGA = /1 so the ADC digitizes signal instead of dead range. Finish with a 0.1-µF bypass capacitor tight to the VS and GND pins.
Live rails bite back: plan for shorts and inductive kickback
A load-side short drops the full supply across the shunt, and clearing that short can produce inductive kickback exceeding the 26-V input rating; fast dV/dt events can fire the internal ESD structures. TI's tested fix is a 10-Ω resistor in series with each input, which protects against dV/dt failure up to the 26-V rating with no significant effect on accuracy. Full input filters are rarely required — the delta-sigma front-end samples around 500 kHz, and only transients above 1 MHz at its harmonics justify one — so reserve footprints, fit 0-Ω links, and populate the 0.1-µF-to-1-µF capacitor only if noise shows up.
Key specifications
| Parameter | Value | Source |
|---|---|---|
| Operating supply range | 3 min to 5.5 max V | SBOS448G Rev G, Section 7.5 Electrical Characteristics, Power Supply, operating supply range row |
| Quiescent current | 0.7 mA typ / 1 mA max; power-down mode 6 uA typ / 15 uA max | SBOS448G Rev G, Section 7.5 Electrical Characteristics, Power Supply, quiescent current rows |
| Bus voltage sense range | Senses bus voltages from 0 to 26 V; bus voltage (input voltage) range 0-32 V (BRNG = 1) / 0-16 V (BRNG = 0), but this parameter only expresses the full-scale range of the ADC scaling - in no event should more than 26 V be applied to this device (absolute max common-mode -0.3 to 26 V) | SBOS448G Rev G, Section 1 Features + Section 7.5 Electrical Characteristics, bus voltage row with note (2) + Section 7.1 Absolute Maximum Ratings |
| Shunt full-scale voltage range | 0 to +/-40 mV (PGA = /1), 0 to +/-80 mV (PGA = /2), 0 to +/-160 mV (PGA = /4), 0 to +/-320 mV (PGA = /8) | SBOS448G Rev G, Section 7.5 Electrical Characteristics, VSHUNT full-scale current sense (input) voltage range rows |
| Offset voltage, RTI | +/-10 uV typ at PGA = /1; +/-100 uV max (INA219A) / +/-50 uV max (INA219B); drift 0.1 uV/C typ vs temperature (TA = -25C to 85C) | SBOS448G Rev G, Section 7.5 Electrical Characteristics, VOS offset voltage RTI rows (conditions: TA = 25C, VS = 3.3 V, VIN+ = 12 V, VSHUNT = 32 mV, PGA = /1, BRNG = 1 unless otherwise noted) |
| Current measurement error | +/-0.2% typ; +/-0.5% max (INA219A) / +/-0.3% max (INA219B); over temperature (TA = -25C to 85C) +/-1% max (INA219A) / +/-0.5% max (INA219B) | SBOS448G Rev G, Section 7.5 Electrical Characteristics, DC Accuracy, current measurement error rows |
| ADC conversion time | 532 us typ / 586 us max (12 bit); 84 us typ / 93 us max (9 bit) | SBOS448G Rev G, Section 7.5 Electrical Characteristics, ADC Timing, ADC conversion time rows |
| Absolute maximum ratings | Supply voltage (VS) 6 V; analog inputs differential (VIN+ - VIN-) -26 to 26 V, common-mode (VIN+ + VIN-)/2 -0.3 to 26 V; input current into any pin 5 mA; junction temperature 150 C; the device can withstand the full 0-V to 26-V range at the input terminals regardless of whether the device has power applied or not | SBOS448G Rev G, Section 7.1 Absolute Maximum Ratings + Section 10 Power Supply Recommendations |
| Power-on defaults | Configuration register resets to 399Fh: BRNG = 1 (32-V bus FSR), PGA = /8 (320-mV range), 12-bit conversions, continuous shunt and bus mode; Calibration register resets to 0, and until the Calibration register (05h) is programmed, the Current register (04h) and Power register (03h) remain at zero; registers are volatile, and if programmed to other than default values, must be re-programmed at every device power-up | SBOS448G Rev G, Table 2 Summary of Register Set + Figure 19 Configuration Register + Tables 4-6 + Section 8.5 Programming + Section 8.5.4 Default Settings |
| Bus and shunt register scaling | Bus voltage is measured from the IN- pin to ground; Bus Voltage register contents must be shifted right by three bits, then multiplied by the Bus Voltage LSB of 4 mV; Shunt Voltage register contents are multiplied by the Shunt Voltage LSB of 10 uV | SBOS448G Rev G, Section 6 Pin Functions (IN- row) + Section 8.5.1 Programming the Calibration Register |
| I2C/SMBus interface | 16 programmable addresses set by pins A0 and A1, each connectable to GND, VS+, SDA, or SCL: slave address 1000000 (A1 = GND, A0 = GND) through 1001111 (A1 = SCL, A0 = SCL); fast (1- to 400-kHz) and high-speed (1-kHz to 2.56-MHz) modes; a 28-ms timeout resets the interface any time SCL or SDA is low for over 28 ms | SBOS448G Rev G, Table 1 INA219 Address Pins and Slave Addresses + Section 8.5.5 Bus Overview + Section 8.5.5.2 Serial Interface + Section 7.5 Electrical Characteristics note (6) |
| Input filtering and overload protection | Delta-sigma front-end with 500-kHz (+/-30%) typical sampling rate; filtering the input is only necessary if there are transients at exact harmonics of the 500-kHz sampling rate (>1 MHz) - filter using the lowest possible series resistance and a ceramic capacitor, recommended values 0.1 uF to 1 uF; 10-Ohm resistors in series with each input sufficiently protect the inputs against dV/dt failure up to the 26-V rating and have no significant effect on accuracy | SBOS448G Rev G, Section 8.4.1 Filtering and Input Considerations |
| Layout | Connect the input pins (IN+ and IN-) to the sensing resistor using a Kelvin connection or a 4-wire connection; given the very low ohmic value of the current-sensing resistor, any additional high-current carrying impedance causes significant measurement errors; place the power-supply bypass capacitor (0.1 uF typical) as close as possible to the supply and ground pins | SBOS448G Rev G, Section 11.1 Layout Guidelines + Section 10 Power Supply Recommendations |
Verified against the manufacturer datasheet on 2026-07-10. Confirm the current revision before production use.
Alternatives
- INA226: the usual step-up: 36-V bus range, 16-bit ADC, and an alert output for hardware overcurrent response. Pick it when the INA219's 26-V limit or 12-bit resolution runs out.
- INA209: same monitoring role with watchdog, peak-hold, and fast comparator functions built in — hardware limit detection instead of software polling.
- INA210: the INA210–INA214 family are zero-drift, low-cost analog current shunt monitors in small packages; the right answer when you want a voltage into an ADC you already have instead of an I2C peripheral.
Common questions
- Why does my INA219 always read 0 A for current and power?
- Because the Calibration register (05h) still holds its power-on value of zero; until it is programmed, the Current (04h) and Power (03h) registers stay at zero by design. Write a calibration value computed from your shunt resistance, and rewrite it after every power cycle — the registers are volatile. The shunt-voltage and bus-voltage registers work without calibration if raw readings are enough.
- What is the maximum bus voltage the INA219 can measure?
- 26 V. The BRNG = 1 setting labels the full-scale range as 0–32 V, but that only expresses the ADC scaling: TI states that in no event should more than 26 V be applied to the device, and the absolute-maximum common-mode rating is −0.3 to 26 V. For higher rails, the INA226 measures to 36 V.
- What is the INA219's I2C address?
- 1000000 (0x40) with both A0 and A1 grounded. Each address pin can be tied to GND, VS+, SDA, or SCL, giving 16 addresses from 1000000 through 1001111 (0x40–0x4F), so 16 devices can share one bus without an I2C mux.
- How fast does the INA219 convert?
- A 12-bit conversion takes 532 µs typical (586 µs max); dropping to 9-bit resolution cuts that to 84 µs typical (93 µs max). Shunt and bus channels convert sequentially in continuous mode, and sample averaging multiplies the time, so treat it as a telemetry part, not an oscilloscope.