INA3221 Triple-Channel I2C SMBUS Current Power Supply Voltage Monitor Sensor Module

$10.95 Inc. GST
You save (%)

Availability: 12 in stock SKU: 10-3-1-1 Category:
Quantity Discount (%) Price
1 $10.95
2 - 4 5 % $10.40
5 - 9 7.5 % $10.13
10 - 19 10 % $9.86
20 - 49 12.5 % $9.58
50 - 99 15 % $9.31
100+ 17.5 % $9.03

Description

Discover Precision Monitoring with the INA3221 Triple-Channel Sensor Module

Experience advanced current and voltage monitoring like never before with the INA3221 Triple-Channel I2C SMBUS Current Power Supply Voltage Monitor Sensor Module. This cutting-edge device boasts a versatile three-channel design and seamless compatibility with I2C and SMBUS interfaces, making it an indispensable tool for monitoring high-side currents and bus voltages with unmatched accuracy.

Key Features:

  • Triple-Channel Precision: Monitor up to three separate channels simultaneously, enabling comprehensive oversight of current and voltage fluctuations.
  • Shunt Voltage Tracking: Accurately measure shunt voltage drops for precise insights into current variations.
  • Bus Voltage Monitoring: Keep a close eye on bus supply voltages to ensure optimal performance and stability.
  • Programmable Conversion: Tailor the module’s behavior to your needs with customizable conversion times and averaging modes.
  • Alert System: Benefit from critical and warning alerts that promptly identify programmable out-of-range conditions for each channel.
  • Wide Voltage Range: Monitor buses with voltages spanning from 0 V up to 26 V, catering to a diverse range of applications.
  • Efficient Power Management: Operate the device using a single power supply in the 2.7 V to 5.5 V range, while consuming only 350 µA (typ) of supply current.
  • Temperature Resilience: Rely on the INA3221’s reliable performance across a wide operating temperature range of -40°C to +125°C.
  • Flexible Configuration: Leverage the convenience of four programmable addresses to streamline your setup.
  • High Accuracy: Experience minimal measurement error with an impressive offset voltage of ±80 µV (max) and a maximum gain error of 0.25%.

Package Includes:

  • 1 x I2C INA3221 Triple-Channel Shunt Current Voltage Monitor Sensor Module

Unleash the power of precision monitoring and elevate your projects with the INA3221 Triple-Channel Sensor Module. Whether you’re working on industrial applications, power management systems, or any scenario that demands accurate current and voltage insights, this module is your reliable companion. Invest in innovation today.

Note: This product is also known as the INA219 Module for single channel sensor.

📌 Code Examples & Usage – INA3221 Triple-Channel Current / Voltage Monitor (I²C)

📋 Overview

The INA3221 is a 3-channel shunt and bus voltage monitor that measures:

  • Bus voltage (per channel)

  • Shunt voltage (across a resistor)

  • Current (calculated from shunt voltage)

  • Power (calculated from voltage × current)

It communicates over I²C / SMBus, making it ideal for:

  • Monitoring 3 power rails (e.g., 12V / 5V / 3.3V)

  • Battery and solar projects

  • Power consumption testing

  • Embedded system diagnostics

  • Measuring current draw of motors/sensors/modules


⚙ Key Features

  • 3 measurement channels

  • Interface: I²C / SMBus

  • Supply voltage: typically 3.3V–5V (module dependent)

  • Measures bus voltage and shunt voltage

  • Current measurement via onboard shunt resistors (value varies by module)

📌 For accurate current readings, you must know the shunt resistor value used on your board.


⚠ Important Notes (READ FIRST)

✅ The INA3221 measures current by monitoring the voltage drop across a shunt resistor.
✅ Each channel must be wired in series with the load on the high side.

⚠ If you wire it like a voltmeter (in parallel), current readings will be wrong.
⚠ Large loads may heat the shunt resistors — ensure your module rating suits the current you plan to measure.


🔌 Wiring (I²C)

I²C Pins

INA3221 Pin Function
VCC 3.3V or 5V
GND Ground
SDA I²C Data
SCL I²C Clock

Arduino Uno I²C

  • SDA = A4

  • SCL = A5

ESP32 I²C (default)

  • SDA = GPIO21

  • SCL = GPIO22


🔌 Wiring the Channels (Very Important)

Each channel has VIN+ and VIN- (sometimes labeled IN+ / IN-).

Correct wiring for each channel:

  • Supply + → VIN+

  • VIN- → Load +

  • Load – → Supply – (GND)

📌 The board measures current flowing from VIN+ to VIN-.


📦 Library Installation (Arduino IDE)

Install a library such as:

  • INA3221 (various options exist in Library Manager)

If you already use Adafruit-style libraries, search Library Manager for “INA3221” and install a well-rated one that supports 3-channel readout.


🧪 1️⃣ Basic Example – Read All 3 Channels (Arduino / ESP32)

This example shows the typical pattern you want on your product page: read bus voltage and current per channel and print to Serial.
(Names may vary slightly depending on the INA3221 library you install.)

#include <Wire.h>
#include <INA3221.h>

// Default I2C address is commonly 0x40 (depends on module A0/A1 jumpers)
INA3221 ina3221;

void setup() {
Serial.begin(115200);
Wire.begin();

if (!ina3221.begin()) {
Serial.println("INA3221 not found. Check wiring/address.");
while (1) delay(10);
}

Serial.println("INA3221 ready");
}

void loop() {
for (int ch = 1; ch <= 3; ch++) {
float busV = ina3221.getBusVoltage_V(ch);
float shuntmV = ina3221.getShuntVoltage_mV(ch);
float currentmA = ina3221.getCurrent_mA(ch);
float powermW = busV * currentmA; // mW (since V * mA)

Serial.print("CH"); Serial.print(ch);
Serial.print(" Bus: "); Serial.print(busV, 3); Serial.print(" V");
Serial.print(" Shunt: "); Serial.print(shuntmV, 3); Serial.print(" mV");
Serial.print(" Current: "); Serial.print(currentmA, 1); Serial.print(" mA");
Serial.print(" Power: "); Serial.print(powermW, 1); Serial.println(" mW");
}

Serial.println();
delay(1000);
}

📌 If your library uses different function names, the concept is the same:

  • read bus voltage

  • read shunt voltage

  • compute/read current

  • compute power


🧪 2️⃣ Simple “Overcurrent Alert” Example (Channel 1)

const float overCurrent_mA = 500.0;

void loop() {
float currentmA = ina3221.getCurrent_mA(1);

if (currentmA > overCurrent_mA) {
Serial.println("ALERT: Overcurrent on CH1!");
}

delay(200);
}


🔍 I²C Address Notes

Many INA3221 boards default to 0x40, but the address can vary depending on A0/A1 settings.

If it doesn’t show up, run an I²C scanner:

#include <Wire.h>

void setup() {
Wire.begin();
Serial.begin(115200);
Serial.println("Scanning...");
for (byte addr = 1; addr < 127; addr++) {
Wire.beginTransmission(addr);
if (Wire.endTransmission() == 0) {
Serial.print("Found I2C device at 0x");
Serial.println(addr, HEX);
}
}
}

void loop() {}


🧠 Shunt Resistor Note (Accuracy)

Current readings depend on the shunt resistor value fitted on your module (often very low resistance like 0.1Ω / 0.05Ω / 0.01Ω).

✔ For best accuracy:

  • confirm the shunt value printed on the resistor (e.g., “R100” = 0.10Ω)

  • set that value in your library if required


🔧 Common Issues & Fixes

Issue Cause Fix
Always 0 mA Load not wired through VIN+/VIN- Wire channel in series
Not detected on I²C Wrong address/wiring Run I²C scanner
Negative current VIN+ and VIN- reversed Swap inputs
Noisy readings Long wires / noise Shorten wires, add filtering

Additional information

Weight 30 g
Dimensions 260 × 160 × 20 mm

Reviews

There are no reviews yet.


Only logged in customers who have purchased this product may leave a review.