// **** INCLUDES ***** #include "LowPower.h" // Use pin 2 as wake up pin const int wakeUpPin = 2; void wakeUp() { // Just a handler for the pin interrupt. } void setup() { // Configure wake up pin as input. // This will consumes few uA of current. pinMode(wakeUpPin, INPUT); } void loop() { // Allow wake up pin to trigger interrupt on low. attachInterrupt(0, wakeUp, LOW); // Enter power down state with ADC and BOD module disabled. // Wake up when wake up pin is low. LowPower.powerDown(SLEEP_FOREVER, ADC_OFF, BOD_OFF); // Disable external pin interrupt on wake up pin. detachInterrupt(0); // Do something here // Example: Read sensor, data logging, data transmission. }