This is an improved version of the commonly available INA3221 3-channel voltage and current sensor breakout board.

This version has 0.1 Ohm (R100) sense resistors. See here for the version with 0.01 Ohm (R010) sense resistors and here for the version with no sense resistors populated.




The main problem with the original breakout board is that all 3 channels use the same power supply. This version implements the example circuit from the INA3221 datasheet and therefore allows 3 different power supplies; one per channel. All 3 power supplies must have a common ground (GND).

This version also has much larger power tracks and a smaller PCB size (30x26mm). The interface header pin-out is the same as on the original module and adds the VPU pin and the A0 address pin to the header. The latter can be used to set the I2C address of the module externally. This version does not have the LEDs of the original module to save power and PCB space. This can be implemented externally, if required.

The INA3221-R100 version comes with 0.1 Ohm (R100) sense resistors with 1% tolerance. This allows currents of up to 1.6A to be measured. The resolution of the current measurement is 0.4mA. I'm also offering an INA3221-R010 model that has 0.01 Ohm resistors and an INA3221-RNONE model with no sense resistors populated. Otherwise these modules are identical.



Size 30 x 26mm
Supply Voltage 2.7 - 5.5V
Supply Current 350 µA typical (INA3221)
Sense Voltage 0 - 26V, 8mV resolution
Sense Current ±1.6A, 0.4mA resolution
Sense Resistors 0.1 Ohm (R100), 1% tolerance, 2Watt
I2C Adresses 4 (0x40 (default) - 0x43) selectable by solder jumper or A0 pin, see INA3221 datasheet







Thanks to Jesus Garcia there is now an EasyEDA library for this module. You can get it form here:

Where to buy

You can buy this module from my Tindie store

I sell on Tindie

Direct link to this product:



The interface side can be used exactly the same way as the original module. There is an I2C bus and 4 status output pins. In addition to the header on the original module, this version also has the A0 address pin on the header. To set the I2C address use either the solder jumpers on the module or the A0 pin on the header to set the address externally. Please refer to the INA3221 datasheet for more information on the status pins and I2C addresses.

Texas Instuments INA3221 datasheet

For Arduino the SDL_Arduino_INA3221 library can be used. The library includes sample code. Since the sense resistors of this version of the module are the default 0.1 Ohm you don't need to modify the code.


Example Circuit

One example use case for this breakout board is to monitor charging / discharging of a Lithium battery by a small solar panel. The following circuit allows to monitor voltage and current from a solar panel, battery voltage and charging/discharging current (positive current = discharging, negative current = charging), and load voltage and current. Please note that the charging module needs to have common ground reference for Vin, Vout and battery.




Here are some more photos of the INA3221-R100 breakout board.




Size comparison original module and INA3221-R010 breakout board (images of original module partially blurred to avoid any copyright issues).

(same size INA3221-R010 version shown)

INA3221-R010_size_front_400.png   INA3221-R010_size_back_400.png


Screw terminals are not included, but this image shows that they do fit. (same size INA3221-R010 version shown)