Adafruit INA3221 Shield

Overview

The Adafruit INA3221 Triple Power Monitor Shield features a TI INA3221 current sensor and two STEMMA QT connectors. It measures current and bus voltage on three channels.

Adafruit INA3221 Shield

Adafruit INA3221 Shield (Credit: Adafruit)

Requirements

This shield can be used with boards which provide an I2C connector, for example STEMMA QT or Qwiic connectors. The target board must define a zephyr_i2c node label. See Shields for more details.

Pin Assignments

Shield Pin

Function

SCL

I2C SCL

SDA

I2C SDA

VIN3+

Current sense pos, channel 3

VIN3-

Current sense neg, channel 3

VIN2+

Current sense pos, channel 2

VIN2-

Current sense neg, channel 2

VIN1+

Current sense pos, channel 1

VIN1-

Current sense neg, channel 1

WRN

Interrupt for current level

CRI

Interrupt for overcurrent

TC

Interrupt for timing control

VALID

Interrupt for power valid

VPU

Pull up voltage for VALID pin

See ti,ina3221 for documentation on how to adjust the devicetree file, for example to adjust the sample averaging.

Programming

Set --shield adafruit_ina3221 when you invoke west build. For example when running the Sensor shell sample:

# From the root of the zephyr repository
west build -b adafruit_feather_canbus_rp2040 --shield adafruit_ina3221 samples/sensor/sensor_shell
west flash

Use the shell command to show voltage, current and power on channel 1. This example has a voltage and current of approximately 5 Volt and 3 mA, respectively:

uart:~$ sensor get ina3221@40
channel type=33(voltage) index=0 shift=3 num_samples=1 value=63920453436ns (5.079999)
channel type=35(current) index=0 shift=3 num_samples=1 value=63920453436ns (0.003199)
channel type=36(power) index=0 shift=3 num_samples=1 value=63920453436ns (0.016255)

Use this command to select channel 2 instead of channel 1:

uart:~$ sensor attr_set ina3221@40 voltage 19 2