INA228 Qwiic (SEN-31438) — Current Reading Approximately 2× Actual Current

Hello SparkFun Support,

I’m an electrical engineering student working on a senior design project. We’re using the SparkFun Qwiic Current Sensor INA228 (SEN-31438), and we’ve encountered a repeatable issue where the sensor reports approximately twice the actual current.

We’ve tested two separate INA228 boards, and both exhibit essentially the same behavior.

1. Test Setup

  • ESP32 communicating with the INA228 over I²C at address 0x40

  • Factory-installed R015 (15 mΩ) shunt resistor

  • SHUNT solder jumper left in its factory configuration

  • VBUS connected to IN+ (solder bridge on the first board, external connection on the second)

  • INA228 configured with ADCRANGE = 0

  • SHUNT_CAL = 0x0EA6 (15 mΩ shunt, 10 A calibration profile)

  • Agilent E3631A bench power supply

  • Rigol DM3068 digital multimeter

  • Common ground shared between the ESP32 and bench power supply

Our test circuit is:

Bench +5 V → INA228 IN+ → INA228 IN− → 324.7 Ω resistor → Bench GND

2. Initial Test Results

At approximately 5 V:

Measurement Result
Actual current (bench supply) ~15 mA
Expected current (Ohm’s law) ~15.4 mA
INA228 reported current ~29 mA
INA228 reported VSHUNT ~0.435 mV
Multimeter directly across R015 ~0.21 mV
Multimeter across IN+ and IN− terminals ~0.47–0.52 mV
Multimeter between IN+ and nearest R015 terminal ~0.275 mV

We also repeated the test with three 330 Ω resistors connected in parallel, increasing the actual current to approximately 45 mA.

The INA228 reported approximately 86 mA, maintaining nearly the same 1.9× discrepancy.

We also varied the bench supply voltage between approximately 2 V and 5 V. The current readings remained proportionally higher than the expected values.

The INA228’s internally calculated CURRENT register and our independently calculated current using its VSHUNT register closely agree.

3. Additional PCB Measurements

We investigated the voltage drop across different portions of the board using the Rigol DM3068 multimeter.

At approximately 15 mA:

  • Directly across the physical R015 resistor, we measured approximately 0.21 mV, close to the theoretically expected 0.23 mV.

  • Across the IN+ and IN− screw terminals, we measured approximately 0.47–0.52 mV.

  • Between the IN+ screw terminal and the nearest metal end of R015, we measured approximately 0.275 mV.

This suggests there may be additional voltage drop in the current path outside the physical R015 resistor.

However, we’re unsure whether that additional resistance is included in the INA228’s differential sensing path.

We repeated our current-measurement test with a second identical SparkFun INA228 board and obtained essentially the same results.

4. Photographs

Photo 1 — SparkFun INA228 breakout board

Close-up of the INA228 board showing the factory-installed R015 (15 mΩ) shunt resistor, screw terminals, and surrounding PCB components.

Photo 2 — Rigol DM3068 measurement across IN+ and IN−

The multimeter displays approximately 0.5173 mV measured between the IN+ and IN− screw terminals while the bench supply outputs approximately 4.987 V at 14–15 mA.

For comparison, measuring directly across the metal ends of R015 produced approximately 0.21 mV.

5. Questions

  1. Could the PCB traces, solder joints, or SHUNT solder jumper be introducing additional resistance that affects the INA228’s differential voltage measurement?

  2. Where exactly do the INA228’s IN+ and IN− sensing traces connect relative to the R015 resistor and SHUNT jumper?

  3. Is this behavior expected at low currents, or is there a recommended hardware configuration or modification to obtain more accurate measurements with the factory-installed shunt?

  4. Is there anything else in our measurement setup or sensor configuration that could explain the approximately 1.9× discrepancy?

We have not modified the SHUNT jumper or the R015 resistor.

We would appreciate any guidance. We’re happy to provide additional photographs, raw I²C register readings, or further measurements if needed.

Thank you for your help!

I have forwarded this to the engineer, hang tight while we await a response :slight_smile: