Measuring small currents with an oscilloscope

When designing systems with microcontrollers, it is often necessary to make them low power and to ensure they draw minimal current.  Unfortunately, common desktop instruments do not allow for easy verification of these currents.  A DMM can really only show DC currents and can’t capture transients.  An oscilloscope typically can only measure down on the order of 2mV per division range.  These limitations pose a problem for microcontroller systems that typically have to wake up periodically to check things and then go back to sleep:  the current waveform is too active for the DMM to measure and too small for the oscilloscope to resolve.  A simple and obvious method around this is to amplify the current measurement so that a scope can reliably show the current waveform.  This blog entry describes one, easy-to-implement method for accomplishing this.

The figure below shows the schematic for the amplification circuit using an instrumentation amplifier.  A brief description of the circuit follows. 

current sense amplifier.

  • The instrumentation amplifier is the Linear Technologies LT1920. This is a basic instrumentation amp (IA) that comes in a DIP package so it is easy to prototype and even breadboard with. It is readily available from Digi Key.
  • The gain of the circuit is set to 1000. With the expected minimum current of the DUT(on the order of 100uA) and a gain of 1000, the output will be about 100mV. This is an easy voltage to see with a scope. In addition the maximum current is about 5mA, so a gain of 1000 gives an output voltage about 5V. Again, this is easy to see with a scope.
  • The gain bandwidth product of the IA is large enough to show the transitions of the circuit.
  • The circuit is run off of +-10V so there is enough headroom to output the approximate +5V output. Dual supplies are necessary because the minimum allowed voltage input is V- + 1.5V.
  • The 10k provides a load so that output of the IA has a return path.
  • Pin 5 is tied to ground so that the output is referenced to ground.
  • Outside of the circuit are the Device Under Test (DUT) power supply, the DUT, and the current sense resistor. The current sense resistor is sized to ensure that the current can be adequately measured and that it does not affect the DUT performance. In this case a 1-ohm resistor is used because it meets these requirements and allows for easier math (see below).
  • The amplifier circuit was only bread-boarded so the actual accuracy is not dialed in, but the results are close enough to show the idea.

A typical low-power micro spends most of the time in a low-power state an wakes up periodically to check conditions.  The average current can be modeled as shown in the equation below.


To get the total average current the amplifier can be used to show the current on an oscilloscope and then the equation can be filled in.  Below is a scope capture of a typical micro current consumption while in a sleep condition.  The asleep/awake behavior can be seen. For approximately 80% of the time the current is low – the voltage is approximately 250mV which is equivalent to 250uA.  For the remaining 20% of the time, the micro is waking up and then for a real short time it is at full power as it performs its actions before it goes back to sleep.


By zooming in on the higher current portions the following times and currents can be found for the DUT.

Micro State Duration Current (Measured Voltage/1000)
Asleep 813ms 250uA
Waking Up 185ms 925uA
Active 2ms 5.5mA

Using these measured values, the average current equation can be filled out as shown below.


So in this case, the average current for the micro system is 385uA. 

This method can be modified to measure smaller currents by increasing the current measurement resistor and/or increasing the gain of the IA.  Also, more accurate measurements can be made by placing this circuit on a PCB.  Also other IA ICs can be used to get better performance.  Hopefully there are some ideas that you use to help troubleshooting in the future.


  1. Would buy one of these assembled…

    After “discovering” the problem described here, I’ve ended up using the NI-6009 USB DAQ in differential mode to measure voltage across Rsense. It barely gave the needed resolution on the voltage scale, and far from a desirable resolution on the time scale (sample rate of ~48kS/sec). The Agilent MSO6012A scope, with difference across two channels, was unacceptably noisy and insufficient voltage resolution (the average did make the power consumption in different sleep states discernable, barely).

    • Alexei –

      We are looking at turning this into a product of sorts. Unfortunately, the input offset of the op-amp is too high, when amplified. We need to figure out a way to reliably calibrate it/account for the offset. Keep your eyes peeled. Something should come up in the next couple of months.


  2. Michael Juan says:

    What if the desired DUT would be a diode (IR LED)? Would the 1-ohm resistor still be needed OR could I just replace the 1-ohm resistor with the diode (IR LED)? I appreciate your response.

  3. Michael –

    I would think you would need the 1 ohm resistor still — the diode is generating a current due to the IR and you want to measure the current, which will generate a small voltage across the resistor.

    Hope this helps.


  4. Michael Juan says:

    Thanks for the response. Would you have the 1-ohm resistor across the diode or in series? I was thinking of putting the 1-ohm in series. Putting the 1-ohm in parallel would give you the same voltage drop across both the resistor and diode but the current would be different. Of course, as stated above, the accuracy will not be there but the circuit will give you a “ballpark” value.

  5. Michael –

    I would have the diode and resistor in series.


  6. Jose Antonio says:

    Hello. I am interested in this schematic.
    I have gone to Linear Technologies web, and I downloaded the “LTspice” simulator ( I have created the schematic in the simulator, but there is something strange:
    For the test I am using a Vdd=3.4V, and a current source as DUT with 5uA. Then, I simulate the circuit (.op analysis) obtaining these results:

    V(v+): 10 voltage
    V(v-): -10 voltage
    V(vin-): 3.39998 voltage
    V(vin+): 3.4 voltage
    V(vout): 0.021785 voltage
    I(Dut): 5e-006 device_current
    I(R5): 1.69999e-005 device_current
    I(R4): 1.7e-005 device_current
    I(R1): 2.19994e-005 device_current

    Current in DUT is different of current in R1. What is the purpose of R4 and R5 resistors (200k)?

    Thank you!

    P.D. If you need the schematic or something, just tell me!

  7. Jose –

    The 200k resistors provide a return current for the op-amp and are from the LT1920 datasheet. You can increase those if you would like and then more/most of the current would be going through the sense resistor.

    Hope this helps,


Speak Your Mind


This site uses Akismet to reduce spam. Learn how your comment data is processed.