IR Fernbedienung - Anfänger

Das delay() auf dem ESP8266 beinhaltet den yield()-Aufruf.
Deine do-while schleife blockiert aber, deshalb bootet er neu. Setze da mal ein yield(); in die Schleife rein, wenn Du unbedingt bei dem Konstrukt bleiben willst, das es aber keinen Sinn ergibt.

Du hast doch schon eine große Schleife namens loop(). Warum nutzt Du sie nicht.

Gruß Tommya