Blink without delay mit while......

while (time1 + interval > millis()); {

Ups.

Keine while mit millis(), das ist ein delay.

Aber abgesehen davon vergleicht man immer die Differenz von Zeitstempeln,
mit Summen zu arbeiten ist nicht überlaufsicher.

Dein Programm macht wenig ansonsten.