The way the Arduino delay() function works is pretty straight forward. It accepts a single integer as an argument. ... When you do delay(1000) your Arduino stops on that line for 1 second. delay() is a blocking function. Blocking functions prevent a program from doing anything else until that particular task has completed.