

The Adafruit INA219 Current Sensor FeatherWing (Manufacturer Part ID: 3650) is a high-precision current sensor designed to measure voltage, current, and power in electronic circuits. It is built specifically for use with Adafruit Feather microcontroller boards, offering seamless integration via the I2C communication protocol. With its ability to measure up to 3.2A of current and a 0.1% accuracy, this sensor is ideal for applications requiring precise power monitoring.








The following table outlines the key technical details of the Adafruit INA219 Current Sensor FeatherWing:
| Parameter | Value |
|---|---|
| Operating Voltage | 3.3V or 5V (compatible with Feather boards) |
| Current Measurement Range | ±3.2A |
| Voltage Measurement Range | 0V to 26V |
| Accuracy | ±0.1% |
| Communication Protocol | I2C |
| Default I2C Address | 0x40 |
| Dimensions | 50.8mm x 22.8mm x 3.2mm |
| Weight | 4.2g |
The Adafruit INA219 FeatherWing has the following pin configuration:
| Pin Name | Description |
|---|---|
| VIN+ | Positive input for current measurement (connect to the high side of the load). |
| VIN- | Negative input for current measurement (connect to the low side of the load). |
| SDA | I2C data line (connect to the Feather's SDA pin). |
| SCL | I2C clock line (connect to the Feather's SCL pin). |
| GND | Ground connection. |
| 3V or 5V | Power supply input (connect to the Feather's 3.3V or 5V pin). |
Wiring the Sensor:
Install the Required Library:
Upload Example Code:
#include <Wire.h>
#include <Adafruit_INA219.h>
// Create an instance of the INA219 sensor
Adafruit_INA219 ina219;
void setup() {
Serial.begin(115200); // Initialize serial communication at 115200 baud
while (!Serial) {
delay(10); // Wait for the Serial Monitor to open
}
// Initialize the INA219 sensor
if (!ina219.begin()) {
Serial.println("Failed to find INA219 chip");
while (1) {
delay(10); // Halt execution if the sensor is not detected
}
}
Serial.println("INA219 sensor initialized successfully!");
}
void loop() {
// Read current in milliamps
float current_mA = ina219.getCurrent_mA();
// Read bus voltage in volts
float bus_voltage = ina219.getBusVoltage_V();
// Read power in milliwatts
float power_mW = ina219.getPower_mW();
// Print the measurements to the Serial Monitor
Serial.print("Current (mA): ");
Serial.println(current_mA);
Serial.print("Bus Voltage (V): ");
Serial.println(bus_voltage);
Serial.print("Power (mW): ");
Serial.println(power_mW);
Serial.println();
delay(1000); // Wait 1 second before taking the next reading
}
Sensor Not Detected:
Incorrect Current or Voltage Readings:
No Output on Serial Monitor:
Serial.begin() value in the code.Q: Can the INA219 FeatherWing measure negative currents?
A: Yes, the INA219 can measure bidirectional currents, allowing it to detect both positive and negative current flow.
Q: How do I change the I2C address of the INA219?
A: The I2C address can be changed by soldering the address jumpers on the back of the FeatherWing. Refer to the Adafruit guide for detailed instructions.
Q: Can I use this sensor with non-Feather boards?
A: Yes, the INA219 FeatherWing can be used with other microcontrollers that support I2C communication, such as Arduino UNO or ESP32. Ensure proper wiring and voltage compatibility.
Q: What is the maximum voltage the sensor can measure?
A: The INA219 can measure up to 26V on the bus voltage input.
By following this documentation, you can effectively integrate the Adafruit INA219 Current Sensor FeatherWing into your projects for accurate current, voltage, and power measurements.