RegForge

Comparisons / INA219 vs INA226

INA219 vs INA226

Register-level differences, generated from both maps.

They cannot share an I²C bus by default. Both answer on 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F. Re-strap one, use a multiplexer, or put them on separate buses.
INA219INA226
ManufacturerTexas InstrumentsTexas Instruments
What it isHigh-side bidirectional current and power monitor with I2CBidirectional current and power monitor with alert and I2C
Registers610
BusesI2CI2C
I²C addresses0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F
Shared registers66
Unique registers04

Same name, different behaviour

These registers exist on both parts but are not interchangeable. This is where a driver ported between them breaks quietly.

RegisterINA219INA226
CONFIG0x00 · 16-bit · reset 0x399F0x00 · 16-bit · reset 0x4127

Only on the INA226

AddrRegisterDescription
0x07ALERT_LIMITThreshold compared against whichever alert source MASK_ENABLE selects
0xFFDIE_IDDie ID and revision. Reads 0x2260.
0xFEMANUFACTURER_IDManufacturer ID. Reads 0x5449, which is 'TI' in ASCII.
0x06MASK_ENABLEAlert source selection and status flags

Full INA226 register map

Get either as C

regforge gen INA219 --out ./src --driver --tests
regforge gen INA226 --out ./src --driver --tests