# How to measure shunt drop with an Arduino

I'm looking at a schematic like the following:

simulate this circuit – Schematic created using CircuitLab

I understand that this will be a very rough resolution as the drop will be in the 25 to 75 mV range and a single count in the Arduino ADC is around 5mV. Perhaps I'll look into amplifying the signal at a later stage but that is enough for me as a start.

In my case, my Arduino is also powered from within the load circuit, through a non-isolated buck converter. Isn't connecting its ground to potentially 35.9-something volts going to cause a short circuit?

• Where is your arduino +5V? Commented Nov 29, 2020 at 13:02
• @Indraneel "In my case, my arduino is also powered from within the LOAD circuit, through a non-isolated buck converter" Commented Nov 29, 2020 at 13:03
• You should use an in-amp if you want to do high-side current measurements. Commented Nov 29, 2020 at 16:09

You can't just stick one of the Arduino's ground connections wherever you want it for a measurement; the Arduino's ground is already set by its connection to a power supply.

Doing this would connect two points with different voltages.

Try moving the shunt to the south of the load, between load and ground, and keep the Arduino's ground at the same level as V1's ground.

If you can't do that, and/or if you want to avoid having to amplify the measured voltage and/or insist on measuring on the high side, you could consider using an INA260 or similar. Breakouts are available.

• The load in my case are a bunch of buck converters in parallel that power other things among which is the arduino. I saw the other schematic to which you are referring, where A0 is connected to "LOAD" negative and GND is connected to battery (36V) negative but I thought that would cause more complications as everything that is currently connected to ground will now be connected to the shunt instead and not be at 0V potential. That would also mean that, since step-down converters' negative IN will be connected to the shunt, then arduino GND will be connected to both sides of the shunt? Commented Nov 29, 2020 at 12:59
• "everything that is currently connected to ground will now be connected to the shunt instead and not be at 0V potential." The resistor is so small that you can safely ignore that, unless you are planning on measuring huge currents. Even at 10A, the resistor will only drop 0.1V. That would require a resistor that can handle 1W though. "arduino GND will be connected to both sides of the shunt" No, the Arduino's ground stays where it is, assuming it is directly or indirectly at V1's ground, no extra connection needed here, and you measure with the A0 pin between load and resistor. Commented Nov 29, 2020 at 15:05
• Low side shunt, while better (less explosive) won't work with the Arduino powered off the load side, since the sensed voltage will be -ve wrt Arduine ground. (Unless the ADC accepts bipolar inputs which I don't think it does). An in-amp as you suggest is the answer.
– user16324
Commented Nov 29, 2020 at 15:13
• @Brian-Drummond: Possible Sunday coffee underflow here, but if the Arduino's ground is at V1's ground, how will it get a negative voltage on an ADC pin connected to the top of the resistor connected between load and ground? Commented Nov 29, 2020 at 15:28
• @ocrdu because the Arduino is currently "powered from within the LOAD" thus the shunt is between its 0V and V1-. To avoid the -ve voltage, that would have to change.
– user16324
Commented Nov 29, 2020 at 15:34