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

How to Use Adafruit INA219 Current Sensor FeatherWing: Examples, Pinouts, and Specs

Image of Adafruit INA219 Current Sensor FeatherWing
Cirkit Designer LogoDesign with Adafruit INA219 Current Sensor FeatherWing in Cirkit Designer

Introduction

The Adafruit INA219 Current Sensor FeatherWing is a high-precision current and voltage measurement module designed to be compatible with the Feather series of development boards by Adafruit. This sensor is capable of measuring both the voltage across and the current passing through a load with high accuracy, which makes it an invaluable tool for monitoring power consumption in various electronic projects. Common applications include battery monitoring, energy monitoring, and power management systems.

Explore Projects Built with Adafruit INA219 Current Sensor FeatherWing

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Arduino UNO-Based Smart Relay Control with INA219 Current Sensor and RGB LED
Image of MCG: A project utilizing Adafruit INA219 Current Sensor FeatherWing in a practical application
This circuit features an Arduino UNO microcontroller interfaced with an INA219 current sensor, a 5V relay, and an RGB LED. The Arduino reads current measurements from the INA219 via I2C and controls the relay and LED, potentially for monitoring and controlling power to a USB-connected device.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino Mega 2560 and INA219 Sensor for Current and Voltage Measurement
Image of INA219_Mega2560: A project utilizing Adafruit INA219 Current Sensor FeatherWing in a practical application
This circuit connects an Arduino Mega 2560 to an INA219 sensor for current and voltage measurement. The INA219 sensor communicates with the Arduino via the I2C protocol, and the Arduino reads and prints the current, bus voltage, shunt voltage, and power values to the Serial Monitor.
Cirkit Designer LogoOpen Project in Cirkit Designer
Multi-Sensor Monitoring System with INA219, Hall Sensor, and OLED Display
Image of R8 Charger: A project utilizing Adafruit INA219 Current Sensor FeatherWing in a practical application
This circuit is designed for monitoring and displaying sensor data. It includes three INA219 current sensors, a GH1248 Hall sensor, and an SSD1306 OLED display, all interfaced with a Seeed Studio RP2350 microcontroller. The microcontroller reads data from the sensors and controls the display and three LEDs.
Cirkit Designer LogoOpen Project in Cirkit Designer
Multi-Sensor Health Monitoring System with Adafruit Feather M0 Adalogger
Image of health tracker: A project utilizing Adafruit INA219 Current Sensor FeatherWing in a practical application
This circuit is designed to interface multiple sensors with an Adafruit Feather M0 Adalogger microcontroller for data logging purposes. The sensors include a MAX30205 temperature sensor, a body dehydration sensor, a MAX30102 pulse oximeter, an Adafruit LSM6DSOX 6-axis accelerometer and gyroscope, and an Adafruit BME680 environmental sensor. All sensors are connected to the microcontroller via an I2C bus, sharing the SDA and SCL lines for communication.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with Adafruit INA219 Current Sensor FeatherWing

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 MCG: A project utilizing Adafruit INA219 Current Sensor FeatherWing in a practical application
Arduino UNO-Based Smart Relay Control with INA219 Current Sensor and RGB LED
This circuit features an Arduino UNO microcontroller interfaced with an INA219 current sensor, a 5V relay, and an RGB LED. The Arduino reads current measurements from the INA219 via I2C and controls the relay and LED, potentially for monitoring and controlling power to a USB-connected device.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of INA219_Mega2560: A project utilizing Adafruit INA219 Current Sensor FeatherWing in a practical application
Arduino Mega 2560 and INA219 Sensor for Current and Voltage Measurement
This circuit connects an Arduino Mega 2560 to an INA219 sensor for current and voltage measurement. The INA219 sensor communicates with the Arduino via the I2C protocol, and the Arduino reads and prints the current, bus voltage, shunt voltage, and power values to the Serial Monitor.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of R8 Charger: A project utilizing Adafruit INA219 Current Sensor FeatherWing in a practical application
Multi-Sensor Monitoring System with INA219, Hall Sensor, and OLED Display
This circuit is designed for monitoring and displaying sensor data. It includes three INA219 current sensors, a GH1248 Hall sensor, and an SSD1306 OLED display, all interfaced with a Seeed Studio RP2350 microcontroller. The microcontroller reads data from the sensors and controls the display and three LEDs.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of health tracker: A project utilizing Adafruit INA219 Current Sensor FeatherWing in a practical application
Multi-Sensor Health Monitoring System with Adafruit Feather M0 Adalogger
This circuit is designed to interface multiple sensors with an Adafruit Feather M0 Adalogger microcontroller for data logging purposes. The sensors include a MAX30205 temperature sensor, a body dehydration sensor, a MAX30102 pulse oximeter, an Adafruit LSM6DSOX 6-axis accelerometer and gyroscope, and an Adafruit BME680 environmental sensor. All sensors are connected to the microcontroller via an I2C bus, sharing the SDA and SCL lines for communication.
Cirkit Designer LogoOpen Project in Cirkit Designer

Technical Specifications

Key Technical Details

  • Operating Voltage: 3.0V to 5.5V
  • Max Current Sensing: 3.2A (with default 0.1 ohm resistor)
  • Max Voltage Sensing: 26V
  • Resolution: 0.8mA with 0.1 ohm resistor
  • I2C Interface: 7-bit device address selectable with jumpers

Pin Configuration and Descriptions

Pin Description
GND Ground connection
VCC Power supply (3.0V to 5.5V)
SDA I2C Data Line
SCL I2C Clock Line
Vin+ Voltage input, positive side
Vin- Voltage input, negative side

Usage Instructions

Integration with a Circuit

To use the INA219 FeatherWing with your Feather board, follow these steps:

  1. Power Connection: Connect the VCC pin to the 3V or 5V output on your Feather board and GND to ground.
  2. I2C Connection: Connect SDA and SCL to the corresponding I2C pins on your Feather board.
  3. Load Connection: Connect the positive side of the load to Vin+ and the negative side to Vin-.

Important Considerations and Best Practices

  • Power Supply: Ensure that the power supply does not exceed the operating voltage range of 3.0V to 5.5V.
  • Current Sensing: The default shunt resistor allows for a maximum of 3.2A. For higher currents, a different shunt resistor may be required.
  • Voltage Sensing: Do not exceed the maximum voltage sensing capability of 26V between Vin+ and Vin-.
  • I2C Addressing: If using multiple I2C devices, ensure that each device has a unique address by adjusting the jumpers on the INA219 FeatherWing.

Example Code for Arduino UNO

#include <Wire.h>
#include <Adafruit_INA219.h>

Adafruit_INA219 ina219;

void setup() {
  Serial.begin(9600);
  while (!Serial) {
    // Wait for serial port to connect (needed for Leonardo only)
  }
  if (!ina219.begin()) {
    Serial.println("Failed to find INA219 chip");
    while (1) { delay(10); }
  }
  Serial.println("INA219 Current Sensor FeatherWing test");
}

void loop() {
  float shuntvoltage = 0;
  float busvoltage = 0;
  float current_mA = 0;
  float loadvoltage = 0;

  shuntvoltage = ina219.getShuntVoltage_mV();
  busvoltage = ina219.getBusVoltage_V();
  current_mA = ina219.getCurrent_mA();
  loadvoltage = busvoltage + (shuntvoltage / 1000);
  
  Serial.print("Bus Voltage:   "); Serial.print(busvoltage); Serial.println(" V");
  Serial.print("Shunt Voltage: "); Serial.print(shuntvoltage); Serial.println(" mV");
  Serial.print("Load Voltage:  "); Serial.print(loadvoltage); Serial.println(" V");
  Serial.print("Current:       "); Serial.print(current_mA); Serial.println(" mA");
  Serial.println("");

  delay(2000);
}

Troubleshooting and FAQs

Common Issues

  • No Data on I2C: Ensure that the SDA and SCL lines are connected properly and that there are pull-up resistors on the I2C lines.
  • Inaccurate Readings: Check that the load is connected correctly to Vin+ and Vin-. Also, verify that the power supply is within the specified range.
  • Device Not Found: Make sure that the INA219 FeatherWing is properly seated on the Feather board and that the I2C address is correctly set.

Solutions and Tips for Troubleshooting

  • I2C Pull-up Resistors: If the data is not being transmitted over the I2C lines, add pull-up resistors to the SDA and SCL lines.
  • Check Connections: Double-check all connections, including power to the INA219 FeatherWing, and ensure that there are no shorts or open circuits.
  • Use the Correct Library: Ensure that you are using the latest Adafruit INA219 library for your development environment.

FAQs

Q: Can I measure currents higher than 3.2A? A: Yes, but you will need to replace the default shunt resistor with one that has a lower resistance value and recalibrate the sensor accordingly.

Q: What is the accuracy of the sensor? A: The INA219 provides high accuracy with a resolution of 0.8mA when using the default 0.1 ohm shunt resistor.

Q: How do I change the I2C address? A: The I2C address can be changed by adjusting the jumpers on the INA219 FeatherWing. Refer to the datasheet for the address configuration.

Q: Can I use this sensor with other microcontrollers besides the Feather series? A: Yes, the INA219 FeatherWing can be used with any microcontroller that supports I2C communication, provided the logic levels are compatible.