This page is also available in 2 other languages

millis()

[Time]

Description

Returns the number of milliseconds passed since the Arduino board began running the current program. This number will overflow (go back to zero), after approximately 50 days.

Syntax

time = millis()

Parameters

None

Returns

Number of milliseconds passed since the program started. Data type: unsigned long.

Example Code

This example code prints on the serial port the number of milliseconds passed since the Arduino board started running the code itself.

unsigned long time;

void setup() {
  Serial.begin(9600);
}
void loop() {
  Serial.print("Time: ");
  time = millis();

  Serial.println(time); //prints time since program started
  delay(1000);          // wait a second so as not to send massive amounts of data
}

Notes and Warnings

Please note that the return value for millis() is of type unsigned long, logic errors may occur if a programmer tries to do arithmetic with smaller data types such as int. Even signed long may encounter errors as its maximum value is half that of its unsigned counterpart.

See also