I'm working on a battery-powered data logger, using a bare Atmega 328. I'm using sleep between sensor readings, via the Narcoleptic library. Everything seems to work fine, until I connect my multimeter to check on the current.

The multimeter uses manual range-setting (i.e., not autoranging). If I set the multimeter to the 0-20 mA range, I can see that my idle current is about 0.250 mA, but the upper value is off-scale. If I try to get a reading on the 0-200 mA range, the circuit misbehaves, never goes into sleep, and doesn't record any data. The current stays constant somewhere around 14-20mA.

Do I need to do something special to accurately measure current in the range of 0.25-40+mA? Or do I need a different kind/quality of multimeter?

My multimeter is a $15 digital unit from Circuit Test, model DMR-1100A.


Multimeters have something called a "burden voltage". See this PDF: uCurrent - A professional precision current ... - EEVblog.

Also see Dave Jones' video: µCurrent

Meters measure current by dropping voltage over an internal resistor, and measuring the drop. By definition therefore, there is a voltage drop, which is the "burden voltage".

the circuit misbehaves, never goes into sleep, and doesn't record any data

If you put a voltmeter on the processor side of the ammeter you will probably find that the voltage going into your processor is somewhat less than you think. That would account for the misbehaving.

One possible approach is to crank up the voltage from your power source, checking the voltmeter to see that it reaches the expected voltage on the processor side of the ammeter, however in a circuit which might turn on and off (ie. sleep) this voltage might jump around (depending on the current) so this should be done with caution (to not exceed the maximum processor voltage).

Or do I need a different kind/quality of multimeter?

A higher quality meter may well help - watch that video and look at the PDF to see what I am talking about. My meters (which cost more than $15) don't have this problem to the same extent.

  • FWIW, I observe similar issues when trying to measure the current of an Arduino Mini Pro 3.3V using a probably cheap multimeter. When I set the range to 20 mA the display alternates between 0.5 and -0.5 mA depending on whether the device is in POWER-DOWN or in a mixture of IDLE/ACTIVE mode. When I set the range to 2000 µA the device shows very non-deterministic behavior. Apparently in that range, the voltage drop is too high then. I understand the voltage drop part, but I'm a bit surprised about the display alternating between positive/negative values. yesterday

If your tester has autorange function, you have to disable it, as it can interfere with normal operations by changing the internal shunt resistor.

Did you configure the meter as current meter, DC, connected in series between the power supply/battery and the rest of the circuit?

The tester might give a poor reading at low current values but it shouldn't interfere(much) with the circuit itself.

  • Yes, I set it to current meter, either the 0-20 or 0-200 range, it doesn't do autoranging. I insert it between the VCC of my USB/FTDI cable and the power bus of the breadboard. In the low range (0-20) the circuit works, so I'm reasonably confident I'm attaching & using it properly.
    – Tyler
    Nov 4 '15 at 1:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.