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.


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.