That should run 4ever, happily doing nothing most of the time.
If there is loss of power, it will mean an inexact entrance into the sequence. As I noted before, there may be good reasons to reset the whole works from time to time; here’s where we’d all like to know more about what exactly it is you are up to if you wouldn’t need to kill us after you say.
I wouldn’t send this into orbit around Mars without a great deal more care to seeing that it could perform to your specifications.
BTW power to the physical things attached is often a source of problems in these circumstances, equal care must be taken with the hardware. Just sayin’.
The timing isn’t super accurate so it may drift if you compare it to the clock on the wall expecting it to stay synchronized.
And 12000 is the number of times those for loops will run, not the number of milliseconds. It will take approximately 12000 * (2 + 3) milliseconds, check my maths that’s 60 seconds, so 24000 instead for two minutes.
I’ll trust your calculations for the long delay() between motor motion CCW an CW. The 690000 looks right for ~11.5 minutes.
If the timings and durations are critical or the power glitch thing would be bad, you might consider adding a real time clock module or RTC to you circuit. Easy, cheap and giving you a different way to time the steps in your sequence.
And it may be that so doing would open up other things the Arduino could be doing asides twiddling its thumbs most of the time.
a7