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

Library Documentation

uint32 millis(void)

Returns time (in milliseconds) since the beginning of program execution.

On overflow, restarts at 0.



The following time prints the value returned by millis() roughly once per second:

unsigned int time;

void setup() {

void loop() {
  SerialUSB.print("Time: ");
  time = millis();
  // prints time since program started

  // wait a second so as not to send massive amounts of data


Since the return value for millis() is an unsigned long, overflow errors may occur if you try to do math with other data types, such as chars.

See Also

License and Attribution

Portions of this page were adapted from the Arduino Reference Documentation, which is released under a Creative Commons Attribution-ShareAlike 3.0 License.