# Adafruit INA219 Current Sensor Breakout

## Overview

![](https://cdn-learn.adafruit.com/assets/assets/000/104/390/medium800/adafruit_products_INA219_top.jpg?1631046311)

The&nbsp;INA219B&nbsp;breakout board and the INA219 FeatherWing will solve all your power-monitoring problems. Instead of struggling with two multimeters, you can use this breakout to measure both the high side voltage and DC current draw over I2C with 1% precision.&nbsp;

![](https://cdn-learn.adafruit.com/assets/assets/000/104/389/medium800/adafruit_products_INA219_top_header.jpg?1631046301)

As if that weren't enough, we've now also added[&nbsp;SparkFun qwiic](https://www.sparkfun.com/qwiic)&nbsp;compatible&nbsp;**[STEMMA QT](https://learn.adafruit.com/introducing-adafruit-stemma-qt)**&nbsp;connectors for the I2C bus **so you don't even need to solder the I2C and power lines.**

Just wire up to your favorite micro using a [STEMMA QT adapter cable.](https://www.adafruit.com/?q=stemma%20qt%20cable)&nbsp;The Stemma QT connectors also mean the INA219 can be used with our&nbsp;[various associated accessories.](https://www.adafruit.com/?q=JST%20SH%204)&nbsp;[QT Cable is not included, but we have a variety in the shop](https://www.adafruit.com/?q=stemma+qt+cable&sort=BestMatch).

![](https://cdn-learn.adafruit.com/assets/assets/000/104/391/medium800/adafruit_products_INA219_STEMMA_side.jpg?1631047192)

## Why the High Side?
Most current-measuring devices such as our current panel meter are only good for&nbsp;_low side_&nbsp;measuring. That means that unless you want to get a battery involved, you have to stick the measurement resistor between the target ground and true ground.   
  
Since the voltage drop across the resistor is proportional to the current draw, this means that the ground reference will change with varying current. &nbsp;Having a shifting ground reference can cause problems for many circuits.&nbsp;  
  
The&nbsp;INA219B&nbsp;chip is much smarter - it can handle high side current measuring, up to +26VDC, even though it is powered with 3 or 5V. It will also report back that high side voltage, which is great for tracking battery life or solar panels.&nbsp;  
![](https://cdn-learn.adafruit.com/assets/assets/000/071/472/medium800/adafruit_products_INA219_FeatherWing_Product.jpg?1550609735)

## How does it work?

A precision amplifier measures the voltage across the 0.1 ohm, 1% sense resistor.

Since the amplifier maximum input difference is ±320mV this means it can measure up to ±3.2 Amps. With the internal 12 bit ADC, the resolution at ±3.2A range is 0.8mA. With the internal gain set at the minimum of div8, the max current is ±400mA and the resolution is 0.1mA. Advanced hackers can remove the 0.1 ohm current sense resistor and replace it with their own to change the range (say a 0.01 ohm to measure up 32 Amps with a resolution of 8mA)&nbsp;

Danger: 

Info: 

![](https://cdn-learn.adafruit.com/assets/assets/000/002/452/medium800/adafruit_products_ID904_LRG.jpg?1396783275)

# Adafruit INA219 Current Sensor Breakout

## Pinouts

![](https://cdn-learn.adafruit.com/assets/assets/000/104/308/medium800/adafruit_products_INA219_pinouts.jpg?1630436545)

![](https://cdn-learn.adafruit.com/assets/assets/000/104/309/medium800/adafruit_products_INA219_FeatherWing_pinouts.png?1630436553)

## Power Pins

The sensor on the breakout requires between a 2.7V and 5.5V, and can be easily used with most microcontrollers from an Arduino to a Feather or something else.

- **VIN** - This is the power pin. To power the board, give it the same power as the logic level of your microcontroller - e.g. for a 5V micro like Arduino, use 5V, or for a Feather use 3.3V.
- **GND** - This is common ground for power and logic.

## I2C Pins

Default address is **0x40**.

- **SCL** - This is the I2C **clock pin** , connect to your microcontroller's I2C clock line. There's a **10K pullup** on this pin.
- **SDA** - This is the I2C **data pin** , connect to your microcontroller's I2C data line. There's a **10K pullup** on this pin.
- [**STEMMA QT**](https://learn.adafruit.com/introducing-adafruit-stemma-qt) **-** These connectors allow you to connect to development boards with **STEMMA QT** connectors, or to other things, with [various associated accessories](https://www.adafruit.com/?q=JST%20SH%204).

## Other Pins

- **Vin+&nbsp;** is the positive input pin. Connect to supply for high side current sensing or to load ground for low side sensing.
- **Vin-** is the negative input pin.&nbsp;Connect to load for high side current sensing or to board ground for low side sensing
- **A0** and **A1 solder jumpers** - These can be bridged with solder to pull the address pin up to VIN to change the I2C address according to the list below.

![](https://cdn-learn.adafruit.com/assets/assets/000/124/121/medium800/adafruit_products_Untitled.png?1693332978)

## I2C Addresses Based on Jumpers

- **Default** = 0x40
- **A0 soldered** = 0x41
- **A1 soldered** = 0x44
- **A0 and A1 soldered** = 0x45

# Adafruit INA219 Current Sensor Breakout

## Assembly

# Breakout Assembly
The board comes with all surface-mount components pre-soldered. &nbsp;Additional parts are included to help integrate the INA219 breakout board into your project.

![adafruit_products_ID904_LRG.jpg](https://cdn-learn.adafruit.com/assets/assets/000/002/455/medium640/adafruit_products_ID904_LRG.jpg?1396783300)

Wires can be soldered directly to the holes on the edge of the board. But for breadboard use, you will want to solder on the included 6-pin header.

![adafruit_products_2012_10_25_IMG_0715-1024.jpg](https://cdn-learn.adafruit.com/assets/assets/000/002/456/medium640/adafruit_products_2012_10_25_IMG_0715-1024.jpg?1396783315)

The load can be connected via the header, or using the included 2-pin screw-terminal.

![adafruit_products_2012_10_25_IMG_0717-1024.jpg](https://cdn-learn.adafruit.com/assets/assets/000/002/457/medium640/adafruit_products_2012_10_25_IMG_0717-1024.jpg?1396783322)

# FeatherWing Assembly
Solder the headers and the screw terminal to the board in the appropriate locations.

The pin labels are small, so here’s an annotated diagram.

![adafruit_products_INA219_FeatherWing_Headers.jpg](https://cdn-learn.adafruit.com/assets/assets/000/104/038/medium640/adafruit_products_INA219_FeatherWing_Headers.jpg?1629844735)

![adafruit_products_INA219-FeatherWing-Pinout.png](https://cdn-learn.adafruit.com/assets/assets/000/104/039/medium640/adafruit_products_INA219-FeatherWing-Pinout.png?1629844788)

## Addressing&nbsp;the Boards
If more than one INA219 breakout board is used, each board must be assigned&nbsp;a unique address. &nbsp;This is done with the address jumpers on the right edge of the board. &nbsp;The I2C base address for each board is 0x40. &nbsp;The binary address that you program with the address jumpers is added to the base I2C address.  
  
To program the address offset, use a drop of solder to bridge the corresponding address jumper for each binary '1' in the address. ![](https://cdn-learn.adafruit.com/assets/assets/000/002/458/medium800/adafruit_products_2012_10_25_IMG_0721-1024.jpg?1396783305)

Up to 4 boards may be connected. Addressing is as follows:  
**Board 0** : Address = 0x40 Offset = binary 00000 (no jumpers required)  
**Board 1** : Address = 0x41 Offset = binary 00001 (bridge A0 as in the photo above)  
**Board 2** : Address = 0x44 Offset = binary 00100 (bridge A1)  
**Board 3** : Address = 0x45 Offset = binary 00101 (bridge A0 & A1)

# Adafruit INA219 Current Sensor Breakout

## Wiring

The INA219 breakout board can be powered by the&nbsp;5V or 3V pin on your Arduino&nbsp;and communicates via I2C.

To wire up the STEMMA QT version:

- Connect&nbsp;**board VIN (red wire)** to&nbsp; **Arduino 5V** &nbsp;if you are running a **5V** board Arduino (Mega, etc.). If your board is **3V,** connect to that instead.
- Connect **board GND (black wire)&nbsp;**to&nbsp; **Arduino**  **GND**
- Connect **board SCL (yellow wire)&nbsp;**to&nbsp; **Arduino**  **SCL**
- Connect **board SDA (blue wire)&nbsp;**to&nbsp; **Arduino**  **SDA**
- Connect **Vin+** to the **positive terminal of the power supply for the circuit under test**
- Connect **Vin-** to the **positive terminal or lead of the load**

![adafruit_products_INA219QT_Arduino_STEMMA_bb.jpg](https://cdn-learn.adafruit.com/assets/assets/000/104/420/medium640/adafruit_products_INA219QT_Arduino_STEMMA_bb.jpg?1631131311)

![adafruit_products_INA219QT_Arduino_breadboard_bb.jpg](https://cdn-learn.adafruit.com/assets/assets/000/104/421/medium640/adafruit_products_INA219QT_Arduino_breadboard_bb.jpg?1631131331)

To wire up the original version:

## Connect to the microcontroller

- Connect **GND** to **GND**
- Connect **VCC** to **5v**
- Then connect **SDA** to **SDA** (Analog pin 4 on pre-R3 Arduinos)
- And connect **SCL** to **SCL** (Analog pin 5 on pre-R3&nbsp;Arduinos)

![adafruit_products_Current_Measurement_Alternate_Signals_bb.jpg](https://cdn-learn.adafruit.com/assets/assets/000/002/461/medium640/adafruit_products_Current_Measurement_Alternate_Signals_bb.jpg?1550283333)

On R3 and later Arduinos, you can connect to the new dedicated SDA & SCL pins next to the AREF pin. &nbsp;On pre-R3 Megas, SDA & SCL are on pins 20 & 21.

  
Next we must insert the INA219 current sensor into the circuit we want to measure: ![](https://cdn-learn.adafruit.com/assets/assets/000/010/941/medium800/adafruit_products_INA219_WS2812_bb.jpg?1378995140)

Danger: 

## Connect to the circuit

- Connect V+ to the positive terminal of the power supply for the circuit under test.
- Connect V- to the positive terminal or lead of the load. &nbsp;This puts the sense resistor&nbsp;in-line with&nbsp;the circuit.
- Finally, connect a wire from the negative terminal of the power supply to GND. &nbsp;This allows the sensor to measure the load voltage as well as the load current.

The photo below shows an INA219 breakout board configured to measure the motor supply current on an Adafruit Motor&nbsp;Shield.

Primary: 

![](https://cdn-learn.adafruit.com/assets/assets/000/002/459/medium800/adafruit_products_2012_10_26_IMG_0725-1024.jpg?1396783330)

# Adafruit INA219 Current Sensor Breakout

## Arduino Code

Programming the Adafruit INA219 breakout board in Arduino, using the many boards that have I2C, is simple using our library:

## Install the Library

Open up the Arduino library manager:

![](https://cdn-learn.adafruit.com/assets/assets/000/084/184/medium800/adafruit_products_library_manager_menu.png?1573769885)

Search for the&nbsp; **Adafruit INA219** &nbsp;library and install it

![](https://cdn-learn.adafruit.com/assets/assets/000/084/185/medium800/adafruit_products_ina219.png?1573770005)

We also have a great tutorial on Arduino library installation at:  
[http://learn.adafruit.com/adafruit-all-about-arduino-libraries-install-use](http://learn.adafruit.com/adafruit-all-about-arduino-libraries-install-use "Link: http://learn.adafruit.com/adafruit-all-about-arduino-libraries-install-use")

## Load the Example

- **Select**"_File -\> Examples -\> Adafruit\_INA219 -\> getcurrent_"
- The "getcurrent" example code should open in a new IDE window.

&nbsp;

![](https://cdn-learn.adafruit.com/assets/assets/000/002/433/medium800/adafruit_products_example.png?1396783084)

## Run it

- **Click** on the upload button in the IDE. When it is "done uploading"
- **Open** your Serial Monitor and set the speed to 115200 baud.

The output should appear similar to the sample below:

![](https://cdn-learn.adafruit.com/assets/assets/000/002/426/medium800/adafruit_products_CurrentCapture.png?1396783003)

## Customize it

You can adapt, expand or modify the example code&nbsp;to suit your project requirements. &nbsp;For a detailed description of the available library functions, see the **Library Reference** on the next page.

# Adafruit INA219 Current Sensor Breakout

## Library Reference

# Construction and Initialization Functions:

`Adafruit_INA219(uint8_t addr = INA219_ADDRESS); `   
  
Constructs an instance of the `Adafruit_INA219`. &nbsp;If no address is specified, the default address (0x40) is used. &nbsp;If more than one INA219 module is connected, it should be addressed as shown on the Assembly page and the configured address passed to the constructor.  
  
`void begin(void); `   
  
Initializes I2C communication with the&nbsp;`Adafruit_INA219`&nbsp;device using the default configuration values.  
  
**Example:**

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

Adafruit_INA219 ina219_A;
Adafruit_INA219 ina219_B(0x41);


void setup(void) 
{
  ina219_A.begin();  // Initialize first board (default address 0x40)
  ina219_B.begin();  // Initialize second board with the address 0x41
}
```

Warning: Do not instantiate as ina219.begin(0x41), use the syntax above.

# Sensor Reading Functions:

`float getBusVoltage_V(void);  `  
  
Reads the voltage between GND and&nbsp;V-. &nbsp;This is the total voltage seen by the circuit under test. &nbsp;(Supply voltage - shunt voltage). &nbsp;  
  
The return value is in Volts.  
  
`float getShuntVoltage_mV(void);  `  
  
Reads the voltage between V- and V+. &nbsp;This is the measured voltage drop across the shunt resistor. &nbsp;  
  
The return value is in Milivolts.  
  
`float getCurrent_mA(void);`  
  
Reads the current, derived via Ohms Law from the measured shunt voltage.  
  
The return value is in Milliamps.  
  
**Example:**

```auto
  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("");
```

# Adafruit INA219 Current Sensor Breakout

## Arduino Library Docs

# Adafruit INA219 Current Sensor Breakout

## Python & CircuitPython

It's easy to use the INA219&nbsp;sensor with Python and CircuitPython, and the&nbsp;[Adafruit CircuitPython INA219](https://github.com/adafruit/Adafruit_CircuitPython_INA219)&nbsp;module.&nbsp; This module allows you to easily write Python code that reads the current&nbsp;and more from the sensor.

You can use this sensor with any CircuitPython microcontroller board or with a computer that has GPIO and Python [thanks to Adafruit\_Blinka, our CircuitPython-for-Python compatibility library](https://learn.adafruit.com/circuitpython-on-raspberrypi-linux).

# CircuitPython Microcontroller Wiring

First wire up a INA219&nbsp;to your board exactly as shown on the previous pages for Arduino using an I2C interface. In addition connect some load to measure the current from in series to the sensor's **Vin-** and **Vin+** pins as [mentioned on the wiring page](../../../../adafruit-ina219-current-sensor-breakout/wiring#connect-to-the-circuit).

Here is an example of the STEMMA QT version connected to a Feather M4:

- **Board 3V** &nbsp;to&nbsp;**sensor VIN (red wire)**
- **Board GND** &nbsp;to&nbsp;**sensor GND (black wire)**
- **Board SCL** &nbsp;to&nbsp;**sensor SCL (yellow wire)**
- **Board SDA** &nbsp;to&nbsp;**sensor SDA (blue wire)**
- Connect **Vin+** to the **positive terminal of the power supply for the circuit under test**
- Connect **Vin-** to the **positive terminal or lead of the load**

![adafruit_products_INA219QT_Feather_STEMMA_bb.jpg](https://cdn-learn.adafruit.com/assets/assets/000/104/422/medium640/adafruit_products_INA219QT_Feather_STEMMA_bb.jpg?1631131638)

![adafruit_products_INA219QT_Feather_breadboard_bb.jpg](https://cdn-learn.adafruit.com/assets/assets/000/104/423/medium640/adafruit_products_INA219QT_Feather_breadboard_bb.jpg?1631131675)

Here's an example of the original version of the sensor wired up to a Feather M0:

- **Board 3V** &nbsp;to&nbsp; **sensor&nbsp;Vcc**
- **Board GND** &nbsp;to&nbsp; **sensor GND**
- **Board SCL** &nbsp;to&nbsp; **sensor&nbsp;SCL**
- **Board SDA** &nbsp;to&nbsp; **sensor&nbsp;SDA**

![adafruit_products_m0_ina219_bb.png](https://cdn-learn.adafruit.com/assets/assets/000/048/265/medium640/adafruit_products_m0_ina219_bb.png?1534094899)

# Python Computer Wiring

Since there's _dozens_ of Linux computers/boards you can use we will show wiring for Raspberry Pi. For other platforms, [please visit the guide for CircuitPython on Linux to see whether your platform is supported](https://learn.adafruit.com/circuitpython-on-raspberrypi-linux).&nbsp;

In addition connect some load to measure the current from in series to the sensor's **Vin-** and **Vin+** pins as [mentioned on the wiring page](../../../../adafruit-ina219-current-sensor-breakout/wiring#connect-to-the-circuit).

Here's the Raspberry Pi wired to the STEMMA QT version of the sensor:

- **Pi 3V** &nbsp;to&nbsp;**sensor VIN (red wire)**
- **Pi GND** &nbsp;to&nbsp;**sensor GND (black wire)**
- **Pi SCL** &nbsp;to&nbsp;**sensor SCL (yellow wire)**
- **Pi SDA** &nbsp;to&nbsp;**sensor SDA (blue wire)**
- Connect **Vin+** to the **positive terminal of the power supply for the circuit under test**
- Connect **Vin-** to the **positive terminal or lead of the load**

![adafruit_products_INA219QT_RasPi_STEMMA_bb.jpg](https://cdn-learn.adafruit.com/assets/assets/000/104/424/medium640/adafruit_products_INA219QT_RasPi_STEMMA_bb.jpg?1631131838)

![adafruit_products_INA219QT_RasPi_breadboard_bb.jpg](https://cdn-learn.adafruit.com/assets/assets/000/104/426/medium640/adafruit_products_INA219QT_RasPi_breadboard_bb.jpg?1631131899)

Here's the Raspberry Pi wired to the original version of the sensor with I2C:

- **Pi 3V3** to **sensor Vcc**
- **Pi GND** to **sensor Gnd**
- **Pi SCL** to **sensor Scl**
- **Pi SDA** to **sensor Sda**

![adafruit_products_raspi_ina219_i2c_bb.jpg](https://cdn-learn.adafruit.com/assets/assets/000/059/052/medium640/adafruit_products_raspi_ina219_i2c_bb.jpg?1534095144)

# CircuitPython Installation of INA219 Library

Next you'll need to install the&nbsp;[Adafruit CircuitPython INA219](https://github.com/adafruit/Adafruit_CircuitPython_INA219)&nbsp;library on your CircuitPython board.

First make sure you are running the&nbsp;[latest version of Adafruit CircuitPython](https://github.com/adafruit/circuitpython/releases)&nbsp;for your board.

Next you'll need to install the necessary libraries&nbsp;to use the hardware--carefully follow the steps to find and install these libraries from&nbsp;[Adafruit's CircuitPython library bundle](https://github.com/adafruit/Adafruit_CircuitPython_Bundle).&nbsp; For example the Circuit Playground Express guide has&nbsp;[a great page on how to install the library bundle](https://learn.adafruit.com/welcome-to-circuitpython/circuitpython-libraries)&nbsp;for both express and non-express boards.

Remember for non-express boards like the Trinket M0, Gemma M0, and Feather/Metro M0 basic you'll need to manually install the necessary libraries from the bundle:

- **adafruit\_ina219.mpy**
- **adafruit\_bus\_device**

Before continuing make sure your board's **lib** folder or root filesystem has the&nbsp; **adafruit\_ina219.mpy,&nbsp;** and **&nbsp;adafruit\_bus\_device**** &nbsp; **files and folders** &nbsp;**copied over.

Warning: Before continuing make sure your board's lib folder has the adafruit\_ina219.mpy, and adafruit\_bus_device files and folders copied over.

Next[&nbsp;connect to the board's serial REPL](https://learn.adafruit.com/welcome-to-circuitpython/the-repl) so you are at the CircuitPython&nbsp; **\>\>\>** prompt.

# Python Installation of INA219 Library

You'll need to install the Adafruit\_Blinka library that provides the CircuitPython support in Python. This may also require enabling I2C on your platform and verifying you are running Python 3. [Since each platform is a little different, and Linux changes often, please visit the CircuitPython on Linux guide to get your computer ready](https://learn.adafruit.com/circuitpython-on-raspberrypi-linux)!

Once that's done, from your command line run the following command:

- `pip3 install adafruit-circuitpython-ina219`

If your default Python is version 3 you may need to run 'pip' instead. Just make sure you aren't trying to use CircuitPython on Python 2.x, it isn't supported!

# CircuitPython & Python Usage

To demonstrate the usage of the sensor we'll initialize it and read the&nbsp;current&nbsp;and more from the board's Python REPL. &nbsp;Run the following code to import the necessary modules and initialize the I2C connection with the sensor:

```auto
import board
import busio
import adafruit_ina219
i2c = busio.I2C(board.SCL, board.SDA)
sensor = adafruit_ina219.INA219(i2c)
```

Now you're ready to read values from the sensor using any of these functions:

- **shunt\_voltage** -&nbsp;The shunt voltage in volts.
- **bus\_voltage** - The bus voltage in volts.
- **current** -&nbsp;The current in milliamps.

```auto
print("Bus Voltage:   {} V".format(ina219.bus_voltage))
print("Shunt Voltage: {} mV".format(ina219.shunt_voltage / 1000))
print("Current:       {} mA".format(ina219.current))
```

That's all there is to using the INA219 with CircuitPython!

Here's a full example to print the voltage and current every second. Save this as **code.py** on your board's filesystem and check the output from the serial REPL.

# Full Example Code
https://github.com/adafruit/Adafruit_CircuitPython_INA219/blob/main/examples/ina219_simpletest.py

If you have more than one sensor at different I2C addresses (adjusted per the Addressing page), use the following syntax, using the addresses you chose:

```python
ina219a = INA219(i2c_bus, 0x40)
ina219b = INA219(i2c_bus, 0x41)
```

# Adafruit INA219 Current Sensor Breakout

## Python Docs

# Adafruit INA219 Current Sensor Breakout

## WipperSnapper

![](https://cdn-learn.adafruit.com/assets/assets/000/124/660/medium800/adafruit_products_01_DeviceList.png?1695233285)

## What is WipperSnapper

WipperSnapper is a firmware designed to turn any WiFi-capable board into an Internet-of-Things device without programming a single line of code. WipperSnapper connects to [Adafruit IO](https://io.adafruit.com/), a web&nbsp;platform designed ([by Adafruit!](https://www.adafruit.com/about)) to&nbsp;_display_,&nbsp;_respond_, and&nbsp;_interact_&nbsp;with your project's data.

Simply load the WipperSnapper firmware onto your board, add credentials, and plug it into power. Your board will automatically register itself with your Adafruit IO account.

From there, you can add&nbsp;_components_&nbsp;to your board such as buttons, switches, potentiometers, sensors, and more! Components are&nbsp;_dynamically&nbsp;_added to hardware, so you can&nbsp;immediately start interacting, logging, and streaming the data your projects produce without writing code.

If you've never used WipperSnapper, click below to read through the quick start guide before continuing.

[Quickstart: Adafruit IO WipperSnapper](https://learn.adafruit.com/quickstart-adafruit-io-wippersnapper)
## Wiring
First, wire up an **INA219** to your board exactly as follows. Here is an example of the **INA219** wired to an&nbsp;[Adafruit ESP32 Feather V2](https://www.adafruit.com/product/5400)&nbsp;using I2C&nbsp;[with a STEMMA QT cable (no soldering required)](https://www.adafruit.com/product/4210)

- **Board 3V** &nbsp;to&nbsp;**sensor VIN (red wire on STEMMA QT)**  
- **Board GND** &nbsp;to&nbsp;**sensor GND (black wire on STEMMA QT)**  
- **Board SCL** &nbsp;to&nbsp;**sensor SCL (yellow wire on STEMMA QT)**  
- **Board SDA** &nbsp;to&nbsp;**sensor SDA (blue wire on STEMMA QT)**

![adafruit_products_featherV2_INA219_bb.png](https://cdn-learn.adafruit.com/assets/assets/000/124/664/medium640/adafruit_products_featherV2_INA219_bb.png?1695233489)

![adafruit_products_featherV2_INA219_Breadboard.png](https://cdn-learn.adafruit.com/assets/assets/000/124/666/medium640/adafruit_products_featherV2_INA219_Breadboard.png?1695233634)

## Usage

Connect your board to Adafruit IO Wippersnapper and **[navigate to the WipperSnapper board list](https://io.adafruit.com/wippersnapper).**

On this page, **select the WipperSnapper board you're using** to be brought to the board's interface page.

![](https://cdn-learn.adafruit.com/assets/assets/000/124/661/medium800/adafruit_products_02_DeviceSelection.png?1695233296)

If you do not see your board listed here - you need [to connect your board to Adafruit IO](https://learn.adafruit.com/quickstart-adafruit-io-wippersnapper) first.

On the device page, quickly&nbsp; **check that you're running the latest version of the WipperSnapper firmware**.

The device tile on the left indicates the version number of the firmware running on the connected board.

- **If the firmware version is green with a checkmark -** &nbsp;continue with this guide.
- **If the firmware version is red with an exclamation mark "!" -** &nbsp;[update to the latest WipperSnapper firmware](https://learn.adafruit.com/quickstart-adafruit-io-wippersnapper)&nbsp;on your board before continuing.

![adafruit_products_04_LatestVersion.png](https://cdn-learn.adafruit.com/assets/assets/000/124/667/medium640/adafruit_products_04_LatestVersion.png?1695233682)

![adafruit_products_04_UpdateRequired.png](https://cdn-learn.adafruit.com/assets/assets/000/124/668/medium640/adafruit_products_04_UpdateRequired.png?1695233704)

Next, make sure the sensor is plugged into your board and click the **&nbsp;I2C Scan&nbsp;** button.

![](https://cdn-learn.adafruit.com/assets/assets/000/113/177/medium800/sensor_page_crop_scan.png?1657724520)

You should see the **INA219**'s default I2C address of&nbsp;`0x40`&nbsp;pop-up in the I2C scan list.

![](https://cdn-learn.adafruit.com/assets/assets/000/124/673/medium800/adafruit_products_I2C_0x40.png?1695234167)

###  I don't see the sensor's I2C address listed! 


First, double-check the connection and/or wiring between the sensor and the board.

Then, reset the board and let it re-connect to Adafruit IO WipperSnapper.

With the sensor detected in an I2C scan, you're ready to add the sensor to your board.

**Click the New Component button or the + button** to bring up the component picker.

![](https://cdn-learn.adafruit.com/assets/assets/000/127/931/medium800/sensor_page_temperature___humidity_06_AddComponent.png?1708631009)

Adafruit IO supports a large amount of components. To quickly find your sensor, type&nbsp;`INA219`&nbsp;into the search bar, then select the&nbsp; **INA219** component.

![](https://cdn-learn.adafruit.com/assets/assets/000/128/253/medium800/adafruit_products_4nk2ImYkaC.png?1709169323)

On the component configuration page, the **INA219**'s sensor address should be listed along with the sensor's settings.

The&nbsp; **Send Every** &nbsp;option is specific to each sensor's measurements. This option will tell the Feather how often it should read from the **INA219** sensor and send the data to Adafruit IO. Measurements can range from every 30 seconds to every 24 hours.

For this example, set the&nbsp; **Send Every&nbsp;** interval to every 30 seconds.

![](https://cdn-learn.adafruit.com/assets/assets/000/124/675/medium800/adafruit_products_create.png?1695234559)

Your device interface should now show the sensor components you created. After the interval you configured elapses, WipperSnapper will automatically read values from the sensor(s) and send them to Adafruit IO.

![](https://cdn-learn.adafruit.com/assets/assets/000/124/677/medium800/adafruit_products_feeds.png?1695234883)

To view the data that has been logged from the sensor, click on the graph next to the sensor name.

![](https://cdn-learn.adafruit.com/assets/assets/000/124/678/medium800/adafruit_products_feeds_arrow.png?1695234892)

Here you can see the feed history and edit things about the feed such as the name, privacy, webhooks associated with the feed and more. If you want to learn more about how feeds work, [check out this page](https://learn.adafruit.com/all-the-internet-of-things-episode-four-adafruit-io/advanced-feeds).

![](https://cdn-learn.adafruit.com/assets/assets/000/124/679/medium800/adafruit_products_graph.png?1695235037)

# Adafruit INA219 Current Sensor Breakout

## Downloads

# Datasheets & Files

- [Eagle PCB files for the INA219 breakout board](https://github.com/adafruit/Adafruit-INA219-Current-Sensor-PCB "Link: https://github.com/adafruit/Adafruit-INA219-Current-Sensor-PCB")
- [3D models on GitHub](https://github.com/adafruit/Adafruit_CAD_Parts/tree/main/904%20INA219%20Stemma)
- [Arduino driver library](https://github.com/adafruit/Adafruit_INA219)
- [Data Sheet for the INA219 chip](http://www.adafruit.com/datasheets/ina219.pdf "Link: http://www.adafruit.com/datasheets/ina219.pdf")
- [Fritzing object in the Adafruit Fritzing library](https://github.com/adafruit/Fritzing-Library)

# Schematic and Fab Print STEMMA QT Version
![](https://cdn-learn.adafruit.com/assets/assets/000/104/392/medium800/adafruit_products_INA219_sch.png?1631050102)

![](https://cdn-learn.adafruit.com/assets/assets/000/104/393/medium800/adafruit_products_INA219_fab_print.png?1631050111)

# Breakout Schematic & Fabrication Print Original Version
![](https://cdn-learn.adafruit.com/assets/assets/000/036/267/medium800/adafruit_products_schem.png?1475858479)

![](https://cdn-learn.adafruit.com/assets/assets/000/036/268/medium800/adafruit_products_fab.png?1475858506)

# FeatherWing Schematic, Fabrication Print and Pinout
![](https://cdn-learn.adafruit.com/assets/assets/000/071/475/medium800/adafruit_products_Adafruit_INA219_FeatherWing_Sch.png?1550610208)

![](https://cdn-learn.adafruit.com/assets/assets/000/071/474/medium800/adafruit_products_Adafruit_INA219_FeatherWing_Fab_Print.png?1550609961)

![](https://cdn-learn.adafruit.com/assets/assets/000/104/040/medium800/adafruit_products_INA219-FeatherWing-Pinout.png?1629844868)


## Related Guides

- [IR Sensor](https://learn.adafruit.com/ir-sensor.md)
- [Adafruit ESP32-C6 Feather](https://learn.adafruit.com/adafruit-esp32-c6-feather.md)
- [Adafruit Feather RP2350 with HSTX](https://learn.adafruit.com/adafruit-feather-rp2350.md)
- [Walkmp3rson: Personal MP3 'Tape' Player](https://learn.adafruit.com/walkmp3rson-personal-mp3-tape-player.md)
- [IoT Food Scale with Azure and CircuitPython](https://learn.adafruit.com/iot-food-scale-with-azure-and-circuitpython.md)
- [How to Build a Testing Jig](https://learn.adafruit.com/how-to-build-a-testing-fixture.md)
- [Adafruit Feather RP2040 RFM69](https://learn.adafruit.com/feather-rp2040-rfm69.md)
- [Sound Reactive LED Top Hat](https://learn.adafruit.com/sound-reactive-led-top-hat.md)
- [DC, Servo, Stepper Motors and Solenoids with the Pico](https://learn.adafruit.com/use-dc-stepper-servo-motor-solenoid-rp2040-pico.md)
- [Arcade Synth Controller](https://learn.adafruit.com/arcade-synth-controller.md)
- [NAU7802 Pet Food Scale](https://learn.adafruit.com/nau7802-pet-food-scale.md)
- [Neocontroller Color Grading Input Box](https://learn.adafruit.com/neocontroller-color-grading-input-box.md)
- [PyPortal Alarm Clock](https://learn.adafruit.com/pyportal-alarm-clock.md)
- [Fruit Jam Video Music](https://learn.adafruit.com/fruit-jam-video-music.md)
- [CircuitPython Essentials](https://learn.adafruit.com/circuitpython-essentials.md)
