Ich werfe mal noch eine Lösung in den Ring. Viele Wege führen ja bekanntlich nach Rom.
while(millis() <= 5000){ // oder 360 oder was auch immer
// ---- hier deine Startsequnez
}
while(1){
// Hier der Rest
}
So hätte ich das Problem gelöst.
Zur Not die Millisekunden noch so versorgen, dass die Arduino Startzeit für Bootloader und Co berücksichtigt wird
Grüße,
Sven