OK. I changed the code you posted as follows:
Pin changed from 8 to 13 for onboard LED.
12 hour timer reduced to 4000 ms for testing.
5 minute delay reduced to 1000 ms for testing.
#include <SimpleTimer.h> // from the simple timer library
SimpleTimer timer;
void RepeatTask() {
digitalWrite(13,HIGH); //this connects to LED
delay(1000); // wait 1 second
}
void setup() {
Serial.begin(9600);
pinMode(13,OUTPUT); // LED
// timed actions setup
timer.setInterval(4000, RepeatTask); // for LED. repeats every 4 seconds
}
void loop() {
timer.run(); // from simple timer example.
}
This code ran identically with Arduino Uno connected to PC and connected to external power supply: after power on or reset, LED flashes briefly (Arduino booting up), LED goes off, LED comes on after 4 seconds, then stays on indefinitely (since there is no digitalWrite(13,LOW) to turn it off.
So the code does what I would expect, both with USB power and external power.