INA219 vs INA226 vs INA260: Best Current Sensor for ESP32

Compare INA219 vs INA226 vs INA260 for ESP32 current and power monitoring. Voltage range, shunts, accuracy, ESPHome support, wiring and best use cases.

The INA219, INA226 and INA260 are three popular Texas Instruments current and power monitor ICs that work very well with the ESP32.

All three measure bus voltage and current over I²C and can report power, but they are not interchangeable. The INA219 is the inexpensive older 12-bit option, the INA226 is the more accurate 16-bit monitor that uses an external shunt, and the INA260 combines a 16-bit monitor with a precision 2 mΩ shunt resistor built into the package.

For ESPHome users in 2026, there is no longer a software reason to avoid any of them: ESPHome has native components for INA219, INA226 and INA260.

Quick Comparison

FeatureINA219INA226INA260
Bus voltage range0–26 V0–36 V0–36 V
ADC resolution12-bit16-bit16-bit
Shunt resistorExternalExternalIntegrated 2 mΩ
Current rangeSet by external shunt / boardSet by external shunt / boardUp to 15 A continuous in TI rating conditions
Current accuracy potentialGoodVery goodVery good and factory-matched
Gain errorHigher than INA226/2600.1% class0.1% class
Alert outputNo dedicated alert functionYesYes
Programmable averagingYesYesYes
I²C addresses161616
Native ESPHomeYesYesYes
Best useCheap general monitoringPrecision/custom rangeSimple high-current monitoring

Which One Should You Choose?

If you are buying new hardware, the decision is mostly about whether you want to choose the shunt yourself.

ProjectBest starting pointWhy
USB / 5 V / 12 V hobby loadINA219Cheap and usually accurate enough
Battery or solar monitoring where accuracy mattersINA226Higher resolution and external shunt flexibility
Higher current without shunt calculationsINA260Integrated precision 2 mΩ shunt
Measure small currents preciselyINA226Choose a larger shunt to improve sensitivity
Measure several amps with low voltage dropINA226 or INA260Low-resistance shunt
Fast Home Assistant setupINA260No shunt resistance or max-current calibration in ESPHome
Already own common INA219 boardsINA219No need to replace working hardware

The INA226 is the most flexible. The INA260 is the easiest to get right. The INA219 is still perfectly useful when cost matters more than precision.

How High-Side Current Measurement Works

These devices normally sit in series with the positive supply line and measure the tiny voltage drop across a shunt resistor.

Power supply +
      │
      ▼
   shunt resistor
   ┌──/\/\/──┐
   │       │
  IN+     IN-
   │       │
   └─ current monitor
           │
           ▼
          Load +

Power supply - ───────── Load -

If the shunt resistance is known, current follows Ohm’s law:

Current = shunt voltage / shunt resistance

Example:
shunt = 0.1 Ω
measured shunt voltage = 50 mV

current = 0.050 / 0.1
        = 0.5 A

The device also measures the bus voltage, so power can be calculated from voltage × current.

Why the Shunt Resistor Matters So Much

The shunt is the heart of any current measurement system. A larger shunt produces a larger voltage signal and therefore better sensitivity at low currents, but it also wastes more power and drops more voltage at high current.

Shunt power loss:

P = I² × R

Example:
5 A through 0.1 Ω

P = 5² × 0.1
  = 2.5 W

That is far too much for many small breakout-board shunts.

This is why you should never choose current range by looking only at the sensor IC. The actual shunt fitted to the breakout board, its power rating, PCB copper and terminal quality determine how much current the board can safely carry.

INA219: Cheap, Common and Still Useful

The INA219 is a 12-bit bidirectional current/power monitor for bus voltages from 0 to 26 V. It is extremely common on low-cost breakout boards and is supported almost everywhere.

  • 0–26 V bus measurement.
  • 12-bit ADC.
  • External shunt resistor.
  • Reports bus voltage, shunt voltage, current and power.
  • 16 programmable I²C addresses.
  • Very common 0.1 Ω breakout boards.
  • Native ESPHome support.

For ESP32 projects such as USB loads, small solar panels, battery chargers and 12 V devices, the INA219 is often completely adequate.

Its main disadvantage is that the INA226 generation gives you substantially better measurement resolution and lower offset/gain errors without making the project much harder.

INA226: The Flexible Precision Choice

The INA226 is a 16-bit current, voltage and power monitor rated for common-mode bus voltages up to 36 V. It has much better offset and gain specifications than the INA219 and provides an alert output.

  • 0–36 V bus measurement.
  • 16-bit ADC.
  • External shunt resistor.
  • 2.5 µV shunt-voltage LSB.
  • Programmable conversion time and averaging.
  • Alert function.
  • 16 programmable I²C addresses.
  • Native ESPHome support.

The external shunt is its biggest advantage. You can optimise the design for the current range you actually need instead of accepting one fixed compromise.

INA260: INA226-Like Monitoring with the Shunt Built In

The INA260 solves one of the most common DIY errors: an inaccurate or badly selected external shunt.

Texas Instruments integrates a 2 mΩ precision shunt into the package. TI rates the device for 15 A continuous from –40°C to +85°C under its specified conditions, with a 0–36 V bus range.

  • 0–36 V bus measurement.
  • 16-bit current/voltage/power monitor.
  • Integrated 2 mΩ shunt.
  • Factory-matched current measurement path.
  • 15 A continuous rating under TI datasheet conditions.
  • Alert output.
  • 16 programmable I²C addresses.
  • Native ESPHome support.

For an ESP32 user who simply wants reliable current and power numbers without calculating calibration registers or checking an external shunt value, the INA260 is very attractive.

INA260 Current Range Does Not Mean Every Breakout Is a 15 A Power Board

The silicon package may be rated for 15 A continuous, but your breakout board still has copper traces, connectors and thermal limits.

A tiny JST connector or narrow PCB trace can become the limiting element long before the INA260 IC itself reaches its datasheet current rating. Always use the current rating of the complete module, not only the chip.

Resolution vs Real Accuracy

A 16-bit converter does not automatically make a module perfectly accurate. The reading still depends on shunt tolerance, shunt temperature coefficient, PCB layout, offset voltage and calibration.

FactorINA219INA226INA260
ADC resolution12-bit16-bit16-bit
External shunt tolerance mattersYesYesNo external shunt
External shunt TCR mattersYesYesIntegrated precision shunt
Board layout can affect resultYesYesYes
User calibration flexibilityHighVery highLower / mostly fixed

The INA260 is not magically immune to system error, but removing the external shunt as a variable makes it much harder to build a badly calibrated system.

Choosing an INA226 Shunt

For the INA226, choose a shunt that produces a useful voltage at maximum current without wasting too much power.

Example target:
Maximum current = 10 A
Shunt = 0.005 Ω

Voltage drop at 10 A:
V = I × R
  = 10 × 0.005
  = 0.050 V = 50 mV

Shunt power:
P = I² × R
  = 10² × 0.005
  = 0.5 W

A real design would choose a shunt with sufficient power margin, low temperature coefficient and appropriate Kelvin sensing if accuracy matters.

Kelvin Connections Matter at Low Shunt Resistance

At a few milliohms, PCB trace and solder-joint resistance are no longer negligible. Measuring the shunt through the same copper that carries load current can create extra error.

Bad:
load current and sense current share
the same high-current copper path

Better:
high-current path ───── shunt ───── load
                      │     │
                   sense+ sense-
                     thin Kelvin traces
                       to monitor

A proper four-terminal or Kelvin-connected shunt separates the high-current path from the voltage-sense connection. This is one reason serious INA226 boards look different from the cheapest modules.

ESP32 I²C Wiring

All three sensors use I²C and are straightforward to connect to an ESP32.

ESP32        INA219 / INA226 / INA260

3.3V  -------- VCC
GND   -------- GND
GPIO21 ------- SDA
GPIO22 ------- SCL

Load current flows through:
VIN+ / IN+ → shunt path → VIN- / IN-

Powering the breakout from 3.3 V is normally convenient because it keeps I²C pull-ups at ESP32-safe logic levels. Check the specific module because some boards include their own regulators or pull-up arrangements.

High-Side vs Low-Side Sensing

For most ESP32 power-monitoring projects, use high-side sensing: put the current monitor in the positive supply line.

Recommended:

Supply + → current monitor → load +
Supply - ───────────────────→ load -

This preserves a direct ground connection between the source, load and ESP32 system. Low-side sensing can work, especially with INA226/INA260 capability, but it inserts a voltage drop in the ground path and can create confusing reference errors in mixed systems.

ESPHome INA219 Configuration

i2c:
  sda: GPIO21
  scl: GPIO22
  scan: true

sensor:
  - platform: ina219
    address: 0x40
    shunt_resistance: 0.1 ohm
    max_voltage: 26.0V
    max_current: 3.2A

    current:
      name: "INA219 Current"

    power:
      name: "INA219 Power"

    bus_voltage:
      name: "INA219 Bus Voltage"

    shunt_voltage:
      name: "INA219 Shunt Voltage"

    update_interval: 5s

The shunt value must match the actual resistor fitted to your board. Many hobby INA219 modules use 0.1 Ω, but never assume that without checking.

ESPHome INA226 Configuration

sensor:
  - platform: ina226
    address: 0x40
    shunt_resistance: 0.01 ohm
    max_current: 8A
    adc_time: 1100us
    adc_averaging: 64

    current:
      name: "INA226 Current"

    power:
      name: "INA226 Power"

    bus_voltage:
      name: "INA226 Bus Voltage"

    shunt_voltage:
      name: "INA226 Shunt Voltage"

    update_interval: 5s

ESPHome lets you configure ADC conversion time and averaging on the INA226. More averaging reduces noise but slows the effective response.

ESPHome INA260 Configuration

INA260 setup is simpler because there is no external shunt resistance or maximum-current calibration field to enter.

sensor:
  - platform: ina260
    address: 0x40

    current:
      name: "INA260 Current"

    power:
      name: "INA260 Power"

    bus_voltage:
      name: "INA260 Bus Voltage"

    update_interval: 5s

This simplicity is the main practical attraction of the INA260 for Home Assistant monitoring.

All Three Default to I²C Address 0x40

A single INA219, INA226 or INA260 usually appears at 0x40. The devices support multiple programmable addresses using address pins or board jumpers.

This makes it possible to monitor several rails from one ESP32:

0x40 → battery input
0x41 → solar panel
0x42 → DC load
0x43 → charger output

Run an I²C scan after changing jumpers so you know which physical board owns each address.

When INA219 Is Good Enough

  • The bus is below 26 V.
  • Current range is a few amps or less.
  • You already own the module.
  • You mainly want trends rather than laboratory-grade numbers.
  • The load is not extremely sensitive to the voltage drop across a common 0.1 Ω shunt.

For a 5 V ESP32 project drawing a few hundred milliamps, there is often no practical benefit in replacing a working INA219.

When INA226 Is Clearly Better

  • You need bus voltage up to 36 V.
  • You want better low-current resolution.
  • You need a custom high-current external shunt.
  • You care about shunt choice and calibration.
  • You want programmable alert behaviour.
  • You are designing a serious battery, charger or solar monitor.

The INA226 is usually the best engineering choice when the shunt is part of the design rather than whatever resistor happened to come on a breakout board.

When INA260 Is the Better Practical Choice

  • You want to avoid external-shunt calculations.
  • You need several amps with very low shunt drop.
  • You want consistent module-to-module calibration.
  • You are happy with the built-in 2 mΩ current-sense resistance.
  • Your required current range fits the complete module’s thermal and connector limits.

The INA260 is particularly attractive in one-off builds because it removes several ways to make a current-measurement circuit inaccurate.

Measuring Very Small Currents

For microamp-level sleep-current measurements, none of these common breakout configurations is ideal by default.

A 2 mΩ INA260 shunt intentionally produces very little voltage drop at high current, which also means tiny currents generate extremely small shunt signals. An INA226 with a larger external shunt can be configured for better low-current sensitivity, provided the added voltage drop is acceptable.

For deep-sleep profiling where you need to measure microamps and then hundreds of milliamps during Wi-Fi transmission, a dedicated wide-dynamic-range power profiler is often a better tool.

Measuring Bidirectional Battery Current

All three devices support bidirectional current measurement. This is useful for a battery where positive current may mean charging and negative current may mean discharging—or vice versa depending on wiring.

Battery + → monitor → system/charger +

Current > 0:
power flowing one direction

Current < 0:
power flowing the opposite direction

Choose and document your sign convention before building Home Assistant automations around the value.

Turn Power into Energy in Home Assistant

The INA devices report instantaneous power. To obtain energy in watt-hours, integrate power over time.

sensor:
  - platform: integration
    source: sensor.ina226_power
    name: "DC Energy"
    unit_prefix: k
    round: 3

For a slowly changing battery or solar system, a 1–5 second current/power update is normally more than enough. Avoid unnecessarily flooding Home Assistant with high-rate sensor data.

Calibration: Use a Real Reference

Do not calibrate by trusting another unknown low-cost module. Use a decent multimeter and a stable load.

  • Measure the actual bus voltage with a multimeter.
  • Measure current in series with a known load.
  • Compare several operating points, not only one.
  • If using an external shunt, measure or verify its real resistance.
  • Check whether the reading drifts as the shunt warms up.
  • Inspect screw terminals and solder joints for voltage drop at higher current.

Common Problem: Current Is Exactly Double or Half the Real Value

This is usually a shunt-resistance configuration error on INA219 or INA226.

Actual shunt = 0.05 Ω
Configured   = 0.10 Ω

Calculated current will be wrong by a factor of two.

Read the resistor marking, check the module schematic if available and confirm with a meter capable of low-resistance measurement when accuracy matters.

Common Problem: Bus Voltage Looks Correct but Current Is Wrong

  • Wrong shunt resistance configured.
  • Load current bypasses the shunt through another ground/power path.
  • Sense wiring is connected to the wrong side of the shunt.
  • The shunt or connector is heating significantly.
  • The expected current is too small relative to the selected shunt and measurement range.

Common Problem: Sensor Reads Negative Current

If current direction is opposite to what you expected, the monitor is probably installed backwards relative to your sign convention. That is not necessarily an electrical fault.

For bidirectional battery systems, negative values can be useful. For one-way loads, swap the high-side current path if you want positive current during normal operation.

Common Problem: ESP32 I²C Becomes Unstable at High Load

The current monitor’s I²C bus is low voltage, but the power path may carry several amps. Bad physical layout can couple switching noise into the ESP32.

  • Keep I²C wiring short.
  • Route high-current wiring separately from SDA/SCL.
  • Use solid ground connections.
  • Do not send load current through thin breadboard jumpers.
  • Use proper terminals and wire gauge for the current path.
  • Add I²C pull-ups only if the board does not already provide suitable ones.

Do Not Use Breadboards for Serious Current Paths

A solderless breadboard is fine for the I²C side of a sensor test. It is a poor choice for a 5 A, 10 A or 15 A load path.

The current path should use appropriate copper, terminals and wire size. The ESP32 only needs four small I²C/power wires; the measured load current should never be forced through fragile jumper contacts.

Best Sensor by Scenario

ScenarioRecommendation
Cheap 5–12 V Home Assistant monitorINA219
Precision solar / battery monitorINA226
24 V system with external shuntINA226
High-current one-off project with simple setupINA260
Need to optimise shunt for 1 A or 50 AINA226
Want no shunt calibrationINA260
Microamp sleep-current testingNeither typical breakout; use specialised measurement or INA226 with carefully chosen shunt

Final Recommendation

The INA219 is still the value option. It is cheap, mature, native in ESPHome and completely adequate for many low-voltage ESP32 projects.

The INA226 is the best all-round engineering choice when you want higher precision or need to select the shunt for a specific current range. Its 36 V common-mode range, 16-bit conversion and low offset make it a major step up from the INA219.

The INA260 is the easiest high-quality option when its integrated 2 mΩ shunt suits your current range. You give up shunt flexibility, but you also eliminate one of the biggest sources of DIY calibration error.

If I were buying new for a general ESP32/Home Assistant power monitor, I would choose INA226 when custom range or low-current accuracy matters, and INA260 when I want the simplest reliable multi-amp monitor. I would use INA219 mainly when cost or existing hardware makes it the obvious choice.

Related ESP32 Guides

Datasheets and External Resources

Share your love