can uno power down mode make the current consumption <1mA

Hey guys, I've made a few posts in the past regarding my project and the code to achieve the objective is set. Now I have to optimize the power. My superiors want it to run for 24 hours and I have achieved it since my circuit takes 130mA maximum and I use 6AA batteries(2700mAh).

But my superiors won't let me rest until I use some sleep modes and do some burn tests. They want the prototype to consume in uA during the sleep mode. Is it possible to do that purely using software? I did try using a few libraries and some coding using the powerdown library. The current dropped to only 32mA even from the blink sketch. Any thoughts?

There are many components on an Uno board, whose current consumption is not affected by the controller sleep mode. First of all you should use a different board, e.g. a Pro Mini, from which you remove the on-board LEDs and voltage regulator. There exist many examples and test programs on the net and in the forum, how to make an Arduino consume less power by hardware changes and sleep modes.

Yeah.

Build a barebones arduino using: ATMEGA328P-PU 4AA batteries (~5V fully charged) A capacitor for smooting A 16Mhz crystal and 2 ceramic caps (22pF) Program the chip with a USBASP programmer (SPI/ISP). An FTDI/USB - FT232 serial to USB if you need serial out to USB

Arduino "Standalone".

Here is what I currently have on my desk. The DHT22 is always powered on and the 433Mhz Tx is idle... |500x375

Great! Got it. Time to change hardware. I have a rather silly doubt a little deviating from the topic.

Why are the LEDs dim when used when the sleep mode is implemented as in even before the arduino goes to sleep.

#include <Sleep_n0m1.h>

Sleep sleep;
unsigned long sleepTime; //how long you want the arduino to sleep



void setup()
{
   
   Serial.begin(9600);
   sleepTime = 5000; //set sleep time in ms, max sleep time is 49.7 days
   
}

void loop()
{
  
  delay(100); ////delays are just for serial print, without serial they can be removed
  Serial.println("execute your code here");
digitalWrite(13, HIGH);

  delay(5000); //delay to allow serial to fully print before sleep
      Serial.print("sleeping for ");
  Serial.println(sleepTime); 
  sleep.pwrDownMode(); //set sleep mode
  sleep.sleepDelay(sleepTime); //sleep for: sleepTime
 
 
  
}

The led is always dim. I thought that the led will light up normally and then turn off when it goes to sleep.

Turn the LED off explicitly before going to sleep with a digitalWrite(13, LOW); statement before sleeping.

Johnny010: Build a barebones arduino using: ATMEGA328P-PU 4AA batteries (~5V fully charged) A capacitor for smooting A 16Mhz crystal and 2 ceramic caps (22pF)

Or use 2 x AA alkaline batteries and the internal 8Mhz oscillator for an even simpler circuit. Reducing the clock speed also saves energy.

...R

Robin2: Or use 2 x AA alkaline batteries and the internal 8Mhz oscillator for an even simpler circuit. Reducing the clock speed also saves energy.

...R

I was going for the assumption they may be using 5V sensors or the like...so as to not lead them away from an "UNO spec" and assumed they will be wanting 5V.

Otherwise, I agree, if the 8MHz clock would be sufficient and compatible with any libraries they are using, it would be a welcome addition for even less power usage.

Best reference for power saving: http://www.gammon.com.au/power.

I tried to collect all the power saving techniques for a stock board here. The biggest simple saving is to put the USB chip into reset mode by jumpering two of the pins on the ICSP header.

On my final project with a mega 2560 I am down to 6.2mA in sleep mode.