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

How to Use INA226: Examples, Pinouts, and Specs

Image of INA226
Cirkit Designer LogoDesign with INA226 in Cirkit Designer

Introduction

The INA226 is a high-precision current shunt and power monitor with an I2C or SMBUS-compatible interface. It is designed to measure current, voltage, and power with high accuracy, making it an essential component for power management applications. The INA226 is widely used in various applications, including:

  • Battery management systems
  • Power supply monitoring
  • Server and telecom equipment
  • Industrial automation
  • Energy metering

Explore Projects Built with INA226

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Battery-Powered Load Cell Amplifier with INA125 and LM324
Image of Test: A project utilizing INA226 in a practical application
This circuit is a load cell signal conditioning and amplification system. It uses an INA125 instrumentation amplifier to amplify the differential signal from a load cell, with additional filtering and gain control provided by potentiometers and capacitors. The amplified signal is then monitored by a digital voltmeter, and the entire system is powered by a 12V battery with a step-up boost converter to provide stable voltage.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32-Based Motor Control System with INA219 Current Sensor and ST7735S Display
Image of test1: A project utilizing INA226 in a practical application
This circuit is a motor control system using an ESP32 microcontroller, an INA219 current sensor, and a BTS7960 motor driver. The ESP32 reads current data from the INA219 and controls the motor driver, while a display module shows relevant information. A pushbutton is included for user interaction.
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 INA226 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
Battery-Powered Emergency Alert System with NUCLEO-F072RB, SIM800L, and GPS NEO 6M
Image of women safety: A project utilizing INA226 in a practical application
This circuit is an emergency alert system that uses a NUCLEO-F072RB microcontroller to send SMS alerts and make calls via a SIM800L GSM module, while obtaining location data from a GPS NEO 6M module. The system is powered by a Li-ion battery and includes a TP4056 module for battery charging and protection, with a rocker switch to control power to the microcontroller.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with INA226

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 Test: A project utilizing INA226 in a practical application
Battery-Powered Load Cell Amplifier with INA125 and LM324
This circuit is a load cell signal conditioning and amplification system. It uses an INA125 instrumentation amplifier to amplify the differential signal from a load cell, with additional filtering and gain control provided by potentiometers and capacitors. The amplified signal is then monitored by a digital voltmeter, and the entire system is powered by a 12V battery with a step-up boost converter to provide stable voltage.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of test1: A project utilizing INA226 in a practical application
ESP32-Based Motor Control System with INA219 Current Sensor and ST7735S Display
This circuit is a motor control system using an ESP32 microcontroller, an INA219 current sensor, and a BTS7960 motor driver. The ESP32 reads current data from the INA219 and controls the motor driver, while a display module shows relevant information. A pushbutton is included for user interaction.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Gen Shed Xiao ESP32C3 INA3221 AHT21 -1: A project utilizing INA226 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 women safety: A project utilizing INA226 in a practical application
Battery-Powered Emergency Alert System with NUCLEO-F072RB, SIM800L, and GPS NEO 6M
This circuit is an emergency alert system that uses a NUCLEO-F072RB microcontroller to send SMS alerts and make calls via a SIM800L GSM module, while obtaining location data from a GPS NEO 6M module. The system is powered by a Li-ion battery and includes a TP4056 module for battery charging and protection, with a rocker switch to control power to the microcontroller.
Cirkit Designer LogoOpen Project in Cirkit Designer

Technical Specifications

Key Technical Details

Parameter Value
Supply Voltage (Vcc) 2.7V to 5.5V
Operating Temperature -40°C to +125°C
Bus Voltage Range 0V to 36V
Shunt Voltage Range ±81.92mV
Current Measurement Range Configurable based on shunt resistor value
Communication Interface I2C, SMBUS
I2C Address Configurable (0x40 to 0x4F)

Pin Configuration and Descriptions

Pin No. Pin Name Description
1 VBUS Bus voltage input
2 GND Ground
3 SCL I2C clock input
4 SDA I2C data input/output
5 ALERT Alert output (open-drain)
6 VSHUNT+ Positive input for shunt voltage measurement
7 VSHUNT- Negative input for shunt voltage measurement
8 VCC Power supply input

Usage Instructions

How to Use the INA226 in a Circuit

  1. Power Supply: Connect the VCC pin to a 2.7V to 5.5V power supply and the GND pin to the ground.
  2. Shunt Resistor: Connect a shunt resistor between the VSHUNT+ and VSHUNT- pins. The value of the shunt resistor determines the current measurement range.
  3. Bus Voltage: Connect the VBUS pin to the voltage bus you want to monitor.
  4. I2C Interface: Connect the SCL and SDA pins to the corresponding I2C pins on your microcontroller (e.g., Arduino UNO).
  5. Alert Pin: Optionally, connect the ALERT pin to an interrupt-capable pin on your microcontroller for alert notifications.

Important Considerations and Best Practices

  • Shunt Resistor Selection: Choose a shunt resistor with a low temperature coefficient to ensure accurate measurements.
  • PCB Layout: Place the shunt resistor close to the INA226 to minimize noise and ensure accurate measurements.
  • I2C Pull-up Resistors: Use appropriate pull-up resistors (typically 4.7kΩ) on the SCL and SDA lines.
  • Calibration: Calibrate the INA226 for your specific application to achieve the best accuracy.

Example Circuit Diagram

INA226 Circuit Diagram

Arduino UNO Example Code

#include <Wire.h>

#define INA226_ADDRESS 0x40 // Default I2C address for INA226

void setup() {
  Serial.begin(9600);
  Wire.begin();
  
  // Configure INA226
  Wire.beginTransmission(INA226_ADDRESS);
  Wire.write(0x00); // Point to configuration register
  Wire.write(0x45); // Configuration MSB
  Wire.write(0x27); // Configuration LSB
  Wire.endTransmission();
}

void loop() {
  // Read bus voltage
  Wire.beginTransmission(INA226_ADDRESS);
  Wire.write(0x02); // Point to bus voltage register
  Wire.endTransmission();
  Wire.requestFrom(INA226_ADDRESS, 2);
  int busVoltage = (Wire.read() << 8) | Wire.read();
  
  // Convert bus voltage to volts
  float voltage = busVoltage * 1.25 / 1000;
  
  Serial.print("Bus Voltage: ");
  Serial.print(voltage);
  Serial.println(" V");
  
  delay(1000);
}

Troubleshooting and FAQs

Common Issues

  1. No Communication with INA226:

    • Solution: Check the I2C connections and ensure the correct I2C address is used. Verify that pull-up resistors are present on the SCL and SDA lines.
  2. Incorrect Voltage or Current Readings:

    • Solution: Ensure the shunt resistor is correctly placed and has the appropriate value. Verify the calibration settings and check for any noise in the circuit.
  3. Alert Pin Not Functioning:

    • Solution: Ensure the ALERT pin is connected to an interrupt-capable pin on the microcontroller. Verify the alert configuration settings in the INA226.

FAQs

Q1: What is the maximum current the INA226 can measure?

  • A1: The maximum current is determined by the value of the shunt resistor and the maximum shunt voltage (±81.92mV). For example, with a 0.01Ω shunt resistor, the maximum current is ±8.192A.

Q2: Can the INA226 measure negative currents?

  • A2: Yes, the INA226 can measure both positive and negative currents, depending on the direction of current flow through the shunt resistor.

Q3: How do I change the I2C address of the INA226?

  • A3: The I2C address of the INA226 is configurable through the A0 and A1 pins. Refer to the datasheet for the specific address configuration.

Q4: What is the resolution of the voltage and current measurements?

  • A4: The INA226 provides a resolution of 1.25mV for bus voltage measurements and 2.5µV for shunt voltage measurements.

By following this documentation, users can effectively integrate the INA226 into their projects and achieve accurate power monitoring. For further details, refer to the INA226 datasheet and application notes.