This is the sketch I use to test sleep current on the Pro Mini. It goes into power-down sleep with everything turned off, including the WDT. With the regulator and LED removed, I get something under 1uA on a genuine 328P, and about 140uA on a counterfeit. I haven't tried it with the WDT enabled.
#include <avr/sleep.h>
#include <avr/wdt.h>
int i;
void setup(){
for (i = 0; i < 20; i++) { // all pins to one rail or the other
pinMode(i,OUTPUT);
digitalWrite(i,LOW);
}
ADCSRA = 0; // disable ADC for power saving
wdt_disable(); // disable WDT for power saving
set_sleep_mode (SLEEP_MODE_PWR_DOWN); // Deep sleep
sleep_enable();
sleep_bod_disable(); // disable brownout detector during sleep
sleep_cpu(); // now go to sleep
}
void loop(){
}
If I comment out the WDT disable, there's no change in current. I think that's because the bootloader, or mystery code added by the IDE, turns off the WDT by default.
Also note that the command to disable BOD during sleep has to be done immediately before sleep_cpu() to be effective.
On my 3.3V 8MHz Pro Mini, with what I believe is a genuine 328P, and with only the LED removed (3.3V regulator left in place), I get the following sleep currents, which are somewhat surprising:
5V applied to Vcc - 50uA
5V applied to RAW - 45uA
3.3V applied to Vcc - 70uA
I don't understand why backflow through the regulator is higher with 3.3V applied to Vcc than with 5V applied there. That makes no sense.
An identical Pro Mini with the regulator also removed gives me under 1uA with either 3.3V or 5V applied to Vcc. So the regulator being present makes a big difference.
However, remember that this is sleep current. I haven't tested current draw in normal active mode. That might produce significantly different results. I probably should do that test at some point.
With respect to the LED, it may be easier to remove its resistor instead.