Reference: RBD-0441
Banner

The INA219 DC Current Measurement Module provides a compact and accurate solution for monitoring current, voltage, and power in DC circuits. With its built-in 0.1Ω shunt resistor, it supports high-side current measurements up to 3.2A and load voltages up to 26VDC, making it ideal for robotics, battery monitoring, and motor control applications. Featuring a 12-bit ADC, the module delivers precise results with 0.8mA resolution over the I2C interface, while remaining compatible with both 3.3V and 5V logic microcontrollers. The I2C address can be configured for multiple modules in a single system, ensuring flexible integration. Compact and easy to use, the INA219 is a reliable choice for energy monitoring, protection systems, and embedded projects. Featured By RoboticsBD.
Product Images are shown for illustrative purposes only and may differ from the actual product.
RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD
High-side current measurement up to 3.2A.
Voltage measurement range: 0–26VDC.
12-bit resolution with 0.8mA accuracy.
Integrated 0.1Ω, 2W precision shunt resistor.
I2C communication interface for easy MCU integration.
Adjustable I2C addresses (0x40, 0x41, 0x44, 0x45).
Compatible with 3.3V and 5V logic systems.
Built-in short circuit and thermal protection.
Small form factor, easy to integrate into circuits.
Ideal for robotics, battery packs, and power monitoring applications.
RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD
Monitoring current and voltage in robotics and automation systems.
Battery-powered projects for energy usage tracking.
Motor control systems to detect stalls and overcurrent.
Power consumption measurement in embedded projects.
Educational and experimental projects involving current sensing.
RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD
| General Specifications | |
| Product Type | DC Current & Voltage Measurement Module |
| IC Used | INA219 |
| Current Range | Up to 3.2A |
| Resolution | 0.8mA (12-bit DAC) |
| Voltage Range | 0–26VDC |
| Shunt Resistor | 0.1Ω, 1% tolerance, 2W |
| I2C Interface | Yes (default address 0x40, adjustable) |
| Logic Compatibility | 3.3V / 5V |
| Accuracy (Typical) | ~1.5% (up to ~10% in practice) |
| Protection | Short circuit, thermal shutdown |
| Applications | Robotics, motor monitoring, battery packs |
| Shipment Weight | 0.0041 kg |
| Shipment Dimensions | 3 × 3 × 2 cm |
Please allow 5% measuring deviation due to manual measurement.
RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD
The INA219 DC Current Measurement Module is inserted on the high side of the load, between the load and the load positive (+) power supply. This load power supply can range from 0V up to 26V.
The module itself is powered from 3-5V, so it is usually powered directly off the MCU.
The modules 3-5V logic supply should not be shared with motors running off the same voltage or else the device may reset due to electrical noise. If this happens, additional filter capacitance on the Vcc can be added near or on the module to try to minimize the problem.
Note that the INA219 module ground needs to be in common with the load ground or the voltage measurements will not be correct though the current measurement will be correct. If you don’t care about the voltage measurement, the grounds can be kept separate.
RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD
The module uses a 0.1 ohm 1% 2W current sense resistor which provides its 3.2A current handling capability. The low resistance keeps the voltage drop to a minimum. At the full rated current, the voltage drop across the current sense resistor would be 0.32V.
If you want to change the current measurement range, this resistor can be replaced with a resistor with a smaller or larger value. As an example a 0.01 ohm resistor will allow measurement of up to 32A with 8mA resolution. A 1 ohm resistor will lower the measurement range to 320mA with a 0.08mA resolution.
RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD
The module uses I2C for communications which makes hook-up to the MCU very easy.
The I2C default address is 0x40, but it can be changed to 0x41, 0x44 or 0x45 by bridging a couple of solder pads.
Changing the I2C address is generally not needed unless you are using more than one of these boards in a system or there is an address conflict with another I2C module. The address pins are labeled A0, A1 on the board.
Note that these addresses are not sequential as you might expect, but these are the correct addresses.
RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD
The connections to the board can be made by soldering wires to the board, or the supplied headers and terminals can be solder on depending on the needs of the application. These can be soldered to either side of the board. For basic breadboard use, it generally works best to put the male header on the bottom of the board so that it can be inserted into the breadboard to hold it in place as shown in the pics.
There is a 6-pin header location on the assembly as well as a 2-pin screw terminal block for the main power connection.
1×6 Header
1×2 Screw Terminal Block
Note: If the current measurement is negative, these VIN connections have been reversed.
This block diagram shows the typical circuit connections.

RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD
These module work fairly well and can be used for applications such as monitoring the current and voltage to the motors of a robotic vehicle to keep an eye on the battery voltage and detect stall conditions.
The module current measurement has a theoretical 1.5% tolerance based on the max tolerance of the chip as well as the tolerance of the shunt resistor. In practice, expect up to about a 10% tolerance, so adequate for more coarse measurements such as detecting motor stall.
The example program below uses the Adafruit INA219 library which can be installed from the Library Manager of the IDE. The program below is based on their ‘getcurrent’ example program which is included with the library but with some modifications. When it is run, it outputs the following info.
Hookup is easy. Just connect the I2C SDA and SCL pins on the module to the same pins on the MCU. Also connect Vcc and ground pins to the MCU power and ground. Lastly connect that VIN- terminal to the positive terminal of the load and the VIN+ terminal to positive lead of the power source used to power the load. Ensure there is a common ground between the MCU and power source if you want to measure the voltage.
RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD
/* * INA219 DC Current Sensor Module Test * Connect the SDA (I2C) of the MCU to the SDA pin on the module * Connect the SCL (I2C) of the MCU to the SCL pin on the module * Connect power (3.3 or 5V) of the MCU to the Vcc pin on the module * Connect ground of the MCU to the GND pin on the module. * Ensure the GND of the module is also connected to the ground of the load being measured */ #include <Wire.h> #include <Adafruit_INA219.h> Adafruit_INA219 ina219; //=============================================================================== // Initialization //=============================================================================== void setup(void) { Serial.begin(9600); while (!Serial) { delay(1); // will pause Zero, Leonardo, etc until serial console opens } ina219.begin(); // Initialize the INA219. } //=============================================================================== // Main //=============================================================================== void loop(void) { float shuntvoltage = 0; float busvoltage = 0; float current_mA = 0; float loadvoltage = 0; float power_W = 0; shuntvoltage = ina219.getShuntVoltage_mV(); // Read values from INA219 busvoltage = ina219.getBusVoltage_V(); current_mA = ina219.getCurrent_mA(); loadvoltage = busvoltage - (shuntvoltage / 1000); // Calculate voltage at load power_W = current_mA * loadvoltage / 1000; // Calculate wattage of load 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.print("Power: "); Serial.print(power_W); Serial.println(" W"); Serial.println(""); delay(2000); }
RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD
1 x INA219 DC Current Measurement Module
RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD
RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD
Specific References
Your review appreciation cannot be sent
Report comment
Report sent
Your report cannot be sent
Write your review
Review sent
Your review cannot be sent
Reference: RBD-0441
Reference: RBD-2091
Reference: RBD-1833
We'll slide into your inbox when the product is back in stock.
Reference: RBD-3090
Brand: DFRobot
Reference: RBD-4110
Reference: RBD-3853
Reference: RBD-3001
Brand: DFRobot
Reference: RBD-1946
Reference: RBD-2082
Reference: RBD-3917
Reference: RBD-2114
Reference: RBD-0568
Brand: Raspberry Pi Official
Reference: RBD-1227
Reference: RBD-1719
Reference: RBD-4088
Reference: RBD-3715
Reference: 0245
Reference: RBD-0133
Reference: RBD-0948
Reference: RBD-0989
Reference: RBD-2675
Reference: RBD-3260
Reference: RBD-3278
Reference: RBD-0391
Reference: RBD-1951
Reference: RBD-1811
Reference: RBD-2247
check_circle
check_circle