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


time = millis()




Number of milliseconds since the program started (unsigned long)

Example Code

The code reads the milllisecond since the Arduino board began.

unsigned long time;

void setup(){
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 an unsigned long, logic errors may occur if a programmer tries to do arithmetic with smaller data types such as int’s. Even signed long may encounter errors as its maximum value is half that of its unsigned counterpart.

See also

Guide Home