Using Resistors to Measure Current

Bob Harper

Issue 8, February 2018

Measuring current with a resistor as the transducer may seem overly simple, but that is often how it is done.

The humble resistor, as it turns out, is also a very good transducer; one that requires only an understanding of Ohm’s Law and some basic maths to create a simple current measuring circuit.


Ohm’s law is often stated in various ways, partly as a result of being translated from German, but also due to those quoting it, attempting to make it as simple as possible. Some insist that the formula is the same as the law, but I like to think of the formula as a shorthand way to remember the law. The following is simple and accurate enough for most of us.

Ohm’s Law states: “Provided the resistance value remains constant, the voltage drop across a resistor is proportional to the current flowing through that resistor” or “Provided the resistance value remains constant, the current flowing through a resistor is proportional to the voltage drop across that resistor”.

Both forms are true, and you can use either, whether you are focused on working out the current or the voltage.

The formula, which is also a fundamental formula for electricity, is: V= IR, or I = V/R.

Of course, what George Ohm was seeking to understand in his experiments was the third translation of the same formula: R = V/I.

Ohm must have been very pleased when his experimental data resulted in a linear relationship between voltage and current, resulting in such a simple formula [1].

formula diagram


There are many situations where a maker might want to either measure the current in a circuit, or use the current in one part of a circuit to control another part. Let us begin with one of the simplest tricks known to most electronics experimenters; using a one Ohm resistor to measure current in a circuit under test.

In lower power circuits, where the current is low enough, a 1 Ohm resistor is connected in series with a device. You should remember that the current is always the same in a series circuit because the same (number of) electrons must pass through every device in the circuit to complete that circuit.

Ohm’s Law tells us that V = IR, so if R = 1, then V = I x 1 = I.

If the 1 Ohm resistor is a 1W power rated resistor then the maximum voltage across that resistor is 1V, or the maximum current through that resistor is 1A.

A common digital panel meter reads to 200mV. So as long as the current is under 200mA in Figure 2, the simple panel meter can easily measure the voltage and present a reading of current as mA, and display up to 200mA [2].

simple panel meter

Note: A digital meter with a maximum count of 200 is a 2.2 digit display, meaning that it doesn’t make full use of the highest digit.

Many instrument circuits from even the most basic of early analog instruments are neither voltage nor current meters, but use series or parallel resistors to calibrate the instrument, to display voltage or current. Look up “galvanometer” if you would like to pursue this further.

Modern digital instruments are considered universal, and the electronics simply measure a voltage via an ADC (analog to digital convertor), as you find in most micro-controllers such as the AVR and PIC. An external circuit converts the quantity being measured into a voltage value from zero to Vcc for the analog pin to read.


This is all good if the power being measured is less than the power dissipation value of the resistor. However, 1 Ohm is a lot of resistance when the circuit runs 100A. The 1 Ohm resistor would be huge as the voltage across it would be 100V and the power dissipation would be 100V x 100A = 10,000W.

One of the principles of instrumentation is to use as little power from the circuit as is necessary, to reduce the ‘loading’ on the circuit. To that end, instrumentation on power circuits often use a “shunt” resistor, which is simply a high current, low resistance conductor, of accurately known resistance.

The term “shunt” refers to the fact that the resistor is placed in parallel with the ammeter to increase it’s current capacity.

In fact, the shunt resistor is in series with the load, designed to take the full current of the load, and it is the ammeter that is shunted across the resistor, because it is actually a voltmeter, calibrated to read the voltage across that specific resistance and display it as current.

Confusing? Remember, meter movements are not actually voltmeters or ammeters, even if they work better one way than the other; it is really the connection that is different. Ammeters (including their shunt) are wired in series with the load. Voltmeters (including their multipliers) are in parallel with the load, or supply. Therefore, ammeters are designed to have a very low resistance (impedance) and voltmeters are designed to have a very high resistance (impedance).

You may have noticed that we occasionally refer to impedance, and then gloss over it by simply saying, it's 'like resistance'. Perhaps a quick explanation is warranted. Impedance is a term used in ac circuits, audio circuits and radio circuits. Inductors and capacitors do have some actual resistance, but also a measure known as reactance, which resistors do not have.

Reactance refers to the ability of capacitors and inductors to store energy and give it back again. Juggling this energy also restricts the current without using up power, theoretically, and so it is a powerless cousin to resistance.

The result of having resistance and reactance, is the measure known as impedance. Impedance is the ac version of resistance. I could add that it's complex, which is a kind of joke amongst those that work with impedance, as it requires 'complex' mathematics to solve many of the problems.

Transformers, instruments and amplifiers all have an 'input impedance' rather than a resistance, as the impedance changes with frequency, or other parameters. So please forgive us if we sometimes use the term impedance when you might have expected us to mean resistance.

Therefore, “shunt resistors” are often found with values of 0.1 Ohm, 0.01 Ohm or even 0.001 Ohm (i.e., 1 milliOhm!). Without further circuit components, assuming the 5V ADC of a common micro-controller, the 1 milliOhm device would allow the uC to read a maximum of I = V/R, = 5/0.001, = 5,000A.

Personally, I’d prefer to buy a better ammeter for dealing with 5,000A, but the point is, an Arduino can do it if you want to keep things simple and cheap.

Note: For any instrument techs out there, yes, shunts usually have much more complex values, but I’ll leave that for other venues.


Shunt resistors are usually a thick short conductor, originally a flat strip of non-corrosive metal, but more commonly today, one or more circular rods [3]. You can make a shunt resistor from a strip of suitable metal, if you remember how to calculate resistance: R = pl/A, (resistivity of the material (Greek letter - Rho) multiplied by the length, divided by the cross sectional area).

shunt resistors

The resistive element of the shunt resistor can be made from almost any material, but the best materials are stable over both time, and temperature. So metals that do not corrode easily are popular, such as Nickel, Chromium, and alloys containing these elements. Nichrome being the first that comes to mind, AlNiCo which has Aluminium Nickel and Cobalt alloyed together is also used, and other materials may be electroplated with nickel to help prevent corrosion.

The home experimenter could try using stainless steel sheet or strap, but would need to establish the resistance before deciding on the dimensions of the home made shunt.

From the diagram you can see that the strip is usually welded or brazed into blocks that have two sets of terminals. One set connects with the circuit, and the other set goes to the terminals of the instrument.


The shunts available from Jaycar and Altronics are good for 5% accuracy, which is more than enough for most of us, but instrumentation may require better tolerances. As the shunt resistance value is reasonably stable, at least over a range of temperature conditions, the instrument may be calibrated (adjusted) to suit the shunt value, rather than adjust the shunt. However, most flat strip type shunts are cut for a lower value of resistance, and their cross section is carefully adjusted by cutting or grinding material away to reduce the cross section, until the resistance is within tolerance. Cutting into opposite sides of the strip, offset along the length of the strip can increase the effective length, but all at a cost to current and power handling.

The most effective calibration when you have a micro-controller running the show, is to use maths inside the software to calibrate the displayed value. Most makers will never need to calibrate the actual shunt resistor.


Assume our friend SAM (our robot from previous issues) has a low value resistor (e.g., 0.1 Ohm) in series with each of its' four drive motors. It would be easy if the resistors could be placed between the black wires and ground, but as the motors are bi-directional motors, the resistors should be on the driver board itself, which would require each motor to have a separate driver.

The AVR can then monitor the four motor currents, and from the readings could determine that SAM is standing still, moving at speed, under load, turning, or even slipping on an uneven surface. Railway locomotives using six large electric motors, measure each motor’s current to determine whether one is working harder, or less hard than the other motors. It is called the “wheel slip” control or alarm, and it alerts the driver to a loss of traction.

SAM’s readings could also be used to limit SAM from overloading, or detect when SAM is about to “blow an engine”!