I want to get as low power use during sleep as possible with an Adafruit Trinket. Based on results presented on various places in the internet (blogs etc), I expect to be able to go down to 50 - 100 micro amps on the ATTiny85 of the Trinket. I am aware of the fact that using a board such as Trinket may add a bit of consumption, and I physically removed the power LED and the power regulator. I am feeding 5V directly on the 5V pin.
I am using the simplest sketch I can think about for low power, with nothing connected to any pin:
#include <avr/sleep.h> // library for sleep
#define adc_disable() (ADCSRA &= ~(1<<ADEN)) // disable ADC (before power-off)
void setup() {
// put your setup code here, to run once:
delay(10000);
// power_all_disable();
set_sleep_mode(SLEEP_MODE_PWR_DOWN);
adc_disable();
sleep_enable();
sleep_mode();
}
void loop() {
}
But I cannot get less than around 1.3 milli amps consumption during sleep. Do you know what may be the cause of using ~1mA instead of ~100 microA? Any idea how I can decrease this further?
Edit 1: it should be even much less than ~50 - 100 micro Amps: ATtiny85: Power consumption vs clock speed ; even though this the libraries are maybe primary intended for the ATMega328P, it looks like it should work also with ATTiny85 as well: http://www.technoblogy.com/show?KX0
Edit 2: I had an ATMega328P-based Adafruit Metro Mini lying around. I took away the ON LED, and then using exactly this sketch, feeding power directly on the 5V pin of the Metro Mini, leads to a power consumption of around 150 micro Amps during sleep, which is more like what I expect. Strange it is 10 times more with the ATtiny while it should have been less (?). Am I missing something or is it maybe just broken library on ATtiny? This is a bit ironic, as I went for the lesser ATtiny85 based board for saving current compared with the ATMega328P...
loop()
that could indicate that it's woken up (maybe turn on an LED or something). – Majenko♦ Jun 12 '17 at 10:18