Cirkit Designer Logo
Cirkit Designer
Your all-in-one circuit design IDE
Home / 
Component Documentation

How to Use INA 3221 Power Monitor: Examples, Pinouts, and Specs

Image of INA 3221 Power Monitor
Cirkit Designer LogoDesign with INA 3221 Power Monitor in Cirkit Designer

Introduction

The INA 3221 is a high-precision power monitor designed to measure voltage and current in a system. It features three input channels, enabling simultaneous monitoring of multiple power rails. The device communicates digitally via the I2C interface, making it ideal for integration into microcontroller-based systems. Its compact design and versatile functionality make it suitable for applications such as power management, energy monitoring, and system diagnostics in embedded systems.

Explore Projects Built with INA 3221 Power Monitor

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
ESP32 and INA3221-Based Smart Power Monitoring System with Bluetooth and Environmental Sensing
Image of NMEA2000 Engine Interface: A project utilizing INA 3221 Power Monitor in a practical application
This circuit is a sensor monitoring and communication system that uses an ESP32 microcontroller to read data from a BME/BMP280 environmental sensor and an INA3221 power monitor. The ESP32 communicates with the sensors via I2C and transmits data wirelessly using an HC-05 Bluetooth module. Additionally, the circuit includes optocouplers and diodes for signal isolation and protection.
Cirkit Designer LogoOpen Project in Cirkit Designer
Solar-Powered Environmental Monitoring System with ESP32-C3 and MPPT Charge Control
Image of Gen Shed Xiao ESP32C3 INA3221 AHT21 -1: A project utilizing INA 3221 Power Monitor in a practical application
This circuit is designed for solar energy management and monitoring. It includes a 12V AGM battery charged by solar panels through an MPPT charge controller, with voltage monitoring provided by an INA3221 sensor. Additionally, a 3.7V battery is connected to an ESP32-C3 microcontroller and an AHT21 sensor for environmental data collection, with power management handled by a Waveshare Solar Manager.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino Nano-Based Smart Power Monitoring System with Bluetooth and LCD Display
Image of Disertatie: A project utilizing INA 3221 Power Monitor in a practical application
This circuit is a power monitoring system that uses an Arduino Nano to measure and display voltage, current, and power consumption. It includes sensors for voltage (ZMPT101B) and current (ACS712), a Bluetooth module (HC-05) for wireless communication, and a Nokia 5110 LCD for displaying the measurements. The system is powered by a 12V adapter and can monitor a 240V power source, with the Arduino running code to calculate and display real-time electrical parameters.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32C3 and SIM800L Powered Smart Energy Monitor with OLED Display and Wi-Fi Connectivity
Image of SERVER: A project utilizing INA 3221 Power Monitor in a practical application
This circuit is a power monitoring system that uses an ESP32C3 microcontroller to collect power usage data from slave devices via WiFi and SMS. The collected data is displayed on a 0.96" OLED screen, and the system is powered by an AC-DC converter module. Additionally, the circuit includes a SIM800L GSM module for SMS communication and LEDs for status indication.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with INA 3221 Power Monitor

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Image of NMEA2000 Engine Interface: A project utilizing INA 3221 Power Monitor in a practical application
ESP32 and INA3221-Based Smart Power Monitoring System with Bluetooth and Environmental Sensing
This circuit is a sensor monitoring and communication system that uses an ESP32 microcontroller to read data from a BME/BMP280 environmental sensor and an INA3221 power monitor. The ESP32 communicates with the sensors via I2C and transmits data wirelessly using an HC-05 Bluetooth module. Additionally, the circuit includes optocouplers and diodes for signal isolation and protection.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Gen Shed Xiao ESP32C3 INA3221 AHT21 -1: A project utilizing INA 3221 Power Monitor in a practical application
Solar-Powered Environmental Monitoring System with ESP32-C3 and MPPT Charge Control
This circuit is designed for solar energy management and monitoring. It includes a 12V AGM battery charged by solar panels through an MPPT charge controller, with voltage monitoring provided by an INA3221 sensor. Additionally, a 3.7V battery is connected to an ESP32-C3 microcontroller and an AHT21 sensor for environmental data collection, with power management handled by a Waveshare Solar Manager.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Disertatie: A project utilizing INA 3221 Power Monitor in a practical application
Arduino Nano-Based Smart Power Monitoring System with Bluetooth and LCD Display
This circuit is a power monitoring system that uses an Arduino Nano to measure and display voltage, current, and power consumption. It includes sensors for voltage (ZMPT101B) and current (ACS712), a Bluetooth module (HC-05) for wireless communication, and a Nokia 5110 LCD for displaying the measurements. The system is powered by a 12V adapter and can monitor a 240V power source, with the Arduino running code to calculate and display real-time electrical parameters.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of SERVER: A project utilizing INA 3221 Power Monitor in a practical application
ESP32C3 and SIM800L Powered Smart Energy Monitor with OLED Display and Wi-Fi Connectivity
This circuit is a power monitoring system that uses an ESP32C3 microcontroller to collect power usage data from slave devices via WiFi and SMS. The collected data is displayed on a 0.96" OLED screen, and the system is powered by an AC-DC converter module. Additionally, the circuit includes a SIM800L GSM module for SMS communication and LEDs for status indication.
Cirkit Designer LogoOpen Project in Cirkit Designer

Common Applications

  • Monitoring power consumption in embedded systems
  • Energy efficiency analysis in IoT devices
  • Battery management systems
  • Industrial equipment diagnostics
  • Multi-rail power supply monitoring

Technical Specifications

The INA 3221 offers robust performance and flexibility. Below are its key technical details:

Parameter Value
Supply Voltage (Vcc) 2.7V to 5.5V
Input Voltage Range 0V to 26V
Maximum Current Determined by external shunt resistor
Communication Interface I2C (up to 3.4 MHz)
Number of Channels 3
Operating Temperature -40°C to +125°C
Resolution 12-bit ADC
Power Consumption 350 µA (typical)

Pin Configuration

The INA 3221 is typically available in a 10-pin package. Below is the pinout description:

Pin Name Description
1 GND Ground connection
2 VCC Power supply input (2.7V to 5.5V)
3 SDA I2C data line
4 SCL I2C clock line
5 ALERT1 Alert output for channel 1 (programmable threshold)
6 ALERT2 Alert output for channel 2 (programmable threshold)
7 ALERT3 Alert output for channel 3 (programmable threshold)
8 VIN1+ Positive input for channel 1 voltage measurement
9 VIN2+ Positive input for channel 2 voltage measurement
10 VIN3+ Positive input for channel 3 voltage measurement

Usage Instructions

How to Use the INA 3221 in a Circuit

  1. Power Supply: Connect the VCC pin to a 3.3V or 5V power source and the GND pin to the ground.
  2. Voltage and Current Measurement:
    • Connect the positive voltage inputs (VIN1+, VIN2+, VIN3+) to the power rails you want to monitor.
    • Use external shunt resistors to measure current. Place the shunt resistor in series with the load, and connect the voltage drop across the shunt to the corresponding channel.
  3. I2C Communication:
    • Connect the SDA and SCL pins to the I2C bus of your microcontroller.
    • Use pull-up resistors (typically 4.7kΩ) on the SDA and SCL lines.
  4. Alert Outputs: Optionally, connect the ALERT pins to monitor programmable thresholds for each channel.

Important Considerations

  • Ensure the input voltage on any channel does not exceed 26V.
  • Select an appropriate shunt resistor value to balance between measurement accuracy and power dissipation.
  • Configure the I2C address of the INA 3221 if multiple devices are used on the same bus.

Example Code for Arduino UNO

Below is an example of how to interface the INA 3221 with an Arduino UNO using the I2C protocol:

#include <Wire.h>

// INA 3221 I2C address (default is 0x40)
#define INA3221_ADDRESS 0x40

// Register addresses for INA 3221
#define REG_CONFIG 0x00
#define REG_SHUNT_VOLTAGE_CH1 0x01
#define REG_BUS_VOLTAGE_CH1 0x02

void setup() {
  Wire.begin(); // Initialize I2C communication
  Serial.begin(9600); // Initialize serial communication for debugging

  // Configure INA 3221 (example configuration)
  Wire.beginTransmission(INA3221_ADDRESS);
  Wire.write(REG_CONFIG); // Point to configuration register
  Wire.write(0x71); // MSB: Enable all channels, set averaging mode
  Wire.write(0x27); // LSB: Set conversion times
  Wire.endTransmission();
}

void loop() {
  // Read bus voltage from channel 1
  Wire.beginTransmission(INA3221_ADDRESS);
  Wire.write(REG_BUS_VOLTAGE_CH1); // Point to bus voltage register for channel 1
  Wire.endTransmission();

  Wire.requestFrom(INA3221_ADDRESS, 2); // Request 2 bytes of data
  if (Wire.available() == 2) {
    uint16_t rawData = (Wire.read() << 8) | Wire.read(); // Combine MSB and LSB
    float busVoltage = rawData * 0.001; // Convert to volts (1 LSB = 1 mV)
    Serial.print("Channel 1 Bus Voltage: ");
    Serial.print(busVoltage);
    Serial.println(" V");
  }

  delay(1000); // Wait 1 second before next reading
}

Notes on the Code

  • The configuration register is set to enable all three channels and configure averaging and conversion times.
  • The example reads the bus voltage for channel 1. You can modify the register address to read other channels or shunt voltages.

Troubleshooting and FAQs

Common Issues

  1. No I2C Communication:

    • Ensure the SDA and SCL lines are connected correctly.
    • Verify that pull-up resistors are present on the I2C lines.
    • Check the I2C address of the INA 3221. If it has been changed, update the code accordingly.
  2. Incorrect Voltage or Current Readings:

    • Verify the connections to the shunt resistors and ensure they are properly rated.
    • Check for noise or interference on the input lines.
    • Ensure the input voltage does not exceed the maximum rating of 26V.
  3. Alert Pins Not Functioning:

    • Confirm that the alert thresholds are correctly configured in the INA 3221 registers.
    • Check the connections to the ALERT pins.

Tips for Troubleshooting

  • Use an I2C scanner sketch to confirm the INA 3221 is detected on the bus.
  • Double-check the wiring and ensure there are no loose connections.
  • Use a multimeter to verify the input voltages and shunt resistor values.

By following this documentation, you can effectively integrate the INA 3221 into your projects for accurate power monitoring and management.