Power down mode consumes high current

Hi, I want to make a battery application for an alarm thus I want to keep Arduino in deep sleep. Arduino will only be able to woken up by button interrupt or sensor interrupt on pin 2 and 3. The board I am using is Arduino pro mini 5V.

The problem is, when I put the Arduino to sleep, it goes from 65 mA to 55 mA only, I expected to go below 1 mA. What am I doing wrong?

I tested with LowPower.h library and registers, results are the same:

My test code:

// #include "LowPower.h"
void setup() {

delay(5000);

//Disable ADC
ADCSRA &=~(1<<7);

//Enable Sleep
SMCR |= (1<<2);
SMCR|= 1;

MCUCR |= (3<<5);
MCUCR = (MCUCR & ~(1<<5)) |(1<<6);

__asm__ __volatile__("sleep");

// LowPower.powerDown(SLEEP_FOREVER, ADC_OFF, BOD_OFF);

}

void loop() {


}

Please hover your mouse over "Installation and Troubleshooting".

1 Like

There is no deep sleep; rather, the available 6 sleep modes are:
sleepMode

Alright, I meant power down mode and I saw people can go to microamps while I only achived 50mA. The power led is still soldered let's assume its removed, the current is still around 40 mA.

Maybe that ugly voltage regulator? Isolate it, then try.

I hope that you are familiar with the following Table which helps to identify which modules are to be disconnected from clocks in a particular application. What is your application?

Required reading:

It's a slog, maybe, but it covers everything.

Arduino boards have things that take power even if the microprocessor itself is asleep.

Some boards are easier to rid of all power hungry circuitry than others.

a7

1 Like

Is there anything connected to your Pro Mini when you do this test? 65mA seems very high even for fully awake.

Edit: I ran your code on my 3.3V 8MHz Pro Mini clone with the power LED removed, but the regulator still present. Powered with 5V at the RAW pin, I get about 5mA during the 5 seconds of delay(), then about 50uA when it goes to sleep. I don't think the LED can be drawing 60mA. So it sounds like something more basic is wrong than just the sleep current.

1 Like

There is a PIR sensor, 3 potentiometers. The pots are connected to pin4 instead of VCC because I only turn them on when I want to read from them also the I tried to disconnect the PIR sensor but it didn't help because the sensor uses microamps anyway.

Okay I have to admit something, sorry for not considering that but I actually burned the regulator by a boost converter which I didn't understand how. Not completely it is still functional but it gets hot during normal operation. I need to test with my other Arduino. I didn't thought it would create 60 mA of difference. I'll update when I'm done with the test.

Alright, sorry for being ignorant. The other same Arduino uses 15mA normally and drops to 5mA on sleep. If I removed the power led then It would probably be much lower. One must be cautious about the health of the parts. Thanks.

Careful. Pursuit of low power minimums is addictive!

Fortunately there are many tricks that can be played.

Aim for having to buy a better ammeter. I had to when my current draw became immeasurable…

a7

If the regulator on the original Pro Mini is getting hot, then you might want to consider just removing it. You can still use the Pro Mini if you power it with regulated 5V at the Vcc pin.

If the power LED is powered through a 1K resistor, then it would be drawing about 3.2mA. So you may have something else drawing current. If the PIR sensor is IR, then that's another LED.

Anyway, it sounds like you should be on the way to tracking this down if you want to take if further. But as you've seen in other threads, if you remove both the power LED and the regulator, the 328P can sleep at some fraction of a microamp.

Yes indeed. But what I ended up doing was finding my old analog meter in the garage. It has one very convenient setting that's 50uA full scale. No need to buy new when vintage will work. :slight_smile:

How so? PIR means Passive Infra Red. There is no emission from them.

They can be had that run on 100 uA or less.

a7

Ok, I guess I'm wrong about that. I thought they sent out IR.

Edit: Well of course I'm wrong, else they wouldn't call them passive IR sensors. Doh!

And what is the internal resistance of your vintage meter?
That may be considerably higher than the ideal value of 0 ohm and influence your measurement or even lead to reduced voltage in the rest of the circuit...

It's a 20K ohms per volt DC meter, and I assume at the 50uA setting there's no shunt. There would be some effect on the voltage, but I would think at very low current the effect of resistance on voltage would also be very low. If the current is 1uA and the resistance is 1K, the voltage drop is 1mV. Anyway, my digital meter can't come anywhere close to measuring 1uA, so that's the best I could do.

Did you try measuring current in volt mode.

Most DMMs have a 10Megohm internal resistance in volt mode, which can be used as a shunt.
If your DMM has a 1mV resolution, then you can measure 0.1nA (Nano Amp).

Add your own shunt to that 10Megohm internal resistor, and you can easily measure 1uA.
Leo..

Well, if my math is right, a 1K series resistor would produce a 1mV drop with 1uA flowing through it, disregarding the 10M in the meter. Is that right? But I don't see the 0.01nA.

My meter is auto-ranging. I'll have to see what resolution it has at low voltage. Anyway, I guess your point is that the effective resolution is much higher if you measure current in volt mode. But still, there has to be a reason why Dave made the uCurrent. If I can measure 0.01nA with my Radio Shack meter, he didn't need to do that.

Edit: My meter is "3&3/4 digit" with ranges 400mV, 4V, 40V, and 400V. The input impedance is generally 10 Meg, but in the 400mV range it's 100 Meg. So the display is ddd.d, and it will read down to 0.1mV. The lowest current reading is 0.01mA.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.