Question about reading voltage with arduino

Hello all,

I would like to use a 100A 50mv shunt to measure the current in a 30 amp circuit. Since the arduino can read less than 5v I figured I can it to read the measure up to 50mv. Then do the proper math to calculate the current running through the shunt.

My question is, is this a good idea to do? Is it safe, and accurate way to measure this small voltage?

All the best,


No; Probably not if you have to ask; and No.

Look for INA219 and INA169 at Adafruit and Sparkfun. See if those can be useful for you.

With high current, you have to design/wire your project carefully. A high ground current can decide to take a detour and go via or through the Arduino board.

Agree with Koepel, No that ain't a good idea.

However, the INA219 and INI169 only read to 3A and 5A respectively.

If you need upto 30A, then you really want a Hall Effect Current Sensor e.g.30A acs715 current sensor

Yours, TonyWilk

The above, and 50 mV is really the bottom end of the scale. Even using the fixed built-in reference the analog reading will be about 50 at 50 mV input. You would need an amplifier circuit to bring the 50 mV to 1V, then you can get a decent resolution when measuring such small voltages.

TonyWilk: However, the INA219 and INI169 only read to 3A and 5A respectively.

That's because of the 0.1ohm shunt resistor on the breakout boards. If you connect a 100A shunt in parallel to that 0.1ohm shunt, then those boards can measure higher currents.

There are restrictions though. The INA219 is designed for ~12volt high-side measurements. Need to know the galvanic relationship between the Arduino and the shunt. Leo..

Thank you all for the help. I will certainly give the current sensor a shot. All makes sense now why my original idea would not work.

What is the voltage of that 30 Amp circuit? AC or DC?