Pauses the program for the amount of time (in milliseconds) specified as parameter. (There are 1000 milliseconds in a second.)


ms is the number of milliseconds to pause (unsigned long)


int ledPin = D1;              // LED connected to digital pin D1

void setup()
  pinMode(ledPin, OUTPUT);    // sets the digital pin as output

void loop()
  digitalWrite(ledPin, HIGH); // sets the LED on
  delay(1000);                // waits for a second
  digitalWrite(ledPin, LOW);  // sets the LED off
  delay(1000);                // waits for a second

NOTE: the parameter for millis is an unsigned long, errors may be generated if a programmer tries to do math with other data types such as ints.

Since 1.5.0:

You can also specify a value using chrono literals, for example: delay(2min) for 2 minutes. However you should generally avoid long delays.