Timing

Official libraries

  • AudioFrequencyMeter: Get the fundamental pitch of an audio signal
  • NTPClient: An NTPClient to connect to a time server
  • RTCZero: Allows to use the RTC functionalities. For Arduino Zero, MKRZero and MKR1000 only.

Contributed by the community

  • AceTime: Date, time, clock, and TZ Database timezones for Arduino.
  • Adafruit Si5351 Library: Driver for Adafruit's Si5351 Clockgen Breakout
  • arduino-timer: Timer library for delaying function calls
  • arduino-timer-api: Simple cross-platform API for multitasking on timer interrupt handlers
  • ArduinoSensors: A Library of Libraries of Sensors
  • ArduinoThread: A simple way to run Threads on Arduino
  • ArduinoThreadRunOnce: Run an ArduinoThread just one time
  • Async_Operations: A library for accurately keeping track of long tasks without blocking the main thread
  • AsyncDelay: Simple abstraction library implementing delays and timeouts.
  • AsyncTimer: JavaScript-like async timing functions (setTimeout, setInterval).
  • avdweb_SAMDtimer: Timer library for the SAMD21 and Arduino Zero
  • avdweb_VirtualDelay: Allows using (multiple) delays without blocking code execution. Arduino Uno and Zero.
  • AVR Standard C Time Library: <h3>Real Time functions for Goldilocks ATmega1284p & ATmega2560</h3>
  • BlockNot: BlockNot is a library that creates non-blocking timers with simplicity.
  • Chrono: Chronometer/stopwatch library that counts the time passed since started.
  • CMMC Easy: CMMC Easy is a library for managing time without delay function
  • CoopTask: Portable C++ library for cooperative multitasking like Arduino Scheduler on ESP8266/ESP32, AVR, Linux, Windows
  • CoopThreads: Lightweight, platform agnostic, stackful cooperative threads library
  • CronAlarms: Schedule alarms to occur at specific times with crontab syntax.
  • DCF77: Read and decode the atomic time broadcasted by the DCF77 radiostation.
  • dcf77_xtal: DCF77 decoder with excellent noise tolerance.
  • Debouncer: Debounce library for Arduino
  • DMOscillator: A library that makes easy on/off control on a pin at fixed or dynamic rate.
  • DMTimer: A library that simplifies non blocking recurrent calls.
  • DS1307 Emulator: An emulator of the DS1307, which transform the Arduino in an RTC chip without actually having a physical RTC.
  • DS1307newAlarms: Adding weekday alarms to the DS1307 RTC functionality
  • DS1307RTC: Use a DS1307 Real Time Clock chip with the Time library
  • DS3231: Arduino library for the DS3231 real-time clock (RTC)
  • ds3231FS: Arduino Library for Maxim Integrated DS3231 Real-Time Clock.
  • DS3232RTC: Arduino Library for Maxim Integrated DS3232 and DS3231 Real-Time Clocks.
  • DST RTC: Arduino library for automatically adjusting RTC time for Daylight Saving Time (DST)
  • DTime: Date plus Time workaround service
  • DueTimer: Timer Library fully implemented for Arduino DUE
  • EasyNTPClient: Library to read time from Network Time Protocol (NTP) servers.
  • EasyTask: A lightweight but powerful implementation of tasking manager.
  • elapsedMillis: Makes coding responsive sketches easier.
  • ESP32Time: Set and retrieve internal RTC time on ESP32 boards.
  • ESPPerfectTime: SNTP library that provides more accurate time for ESP8266/ESP32.
  • everytime: A easy to use library for periodic code execution.
  • EveryTimer: A library providing the possibility to call a function at specific time intervals.
  • Executive: Execute routines to specified schedule
  • ezTime: ezTime - pronounced "Easy Time" - is a very easy to use Arduino time and date library that provides NTP network time lookups, extensive timezone support, formatted time and date strings, user events, millisecond precision and more.
  • FaBo 215 RTC PCF2129: A library for FaBo RTC I2C Brick
  • FifteenStep: A general purpose Arduino MIDI sequencer library.
  • FireTimer: Simple and non-blocking library to time the execution of processes
  • flex_DST: A library for observing DST according to usere predefined parameters.
  • FreeRTOS: <h3>FreeRTOS Real Time Operating System implemented for AVR (Uno, Nano, Leonardo, Mega).</h3>
  • FreqPeriodCounter: Smart library with comprehensive functions for counting (multiple) frequencies. For Arduino Uno and Zero.
  • FrequencyTimer2: Generate a frequency using Timer2
  • frt: Lightweight, easy-to-use wrapper around the Arduino_FreeRTOS_Library.
  • Grove - RTC DS1307: Arduino library to control Grove - RTC DS1307.
  • HeliOS: The free embedded operating system.
  • IntervalCallback: Library to call a callback repetively after a certain time.
  • jm_Scheduler: A Cooperative Scheduler Library for Arduino.
  • ledflasher: Responsively flash LEDs
  • leOS: Simple scheduler that run little tasks within IRSs
  • leOS2: Simple scheduler based on watchdog that runs little tasks within IRS
  • looper: Proto-scheduler based on the use of millis()
  • M5_RTC_Module: A library for using the RTC-Module from iotec for the M5-Stack.
  • MCP79412RTC: Arduino library for the Microchip MCP79411/12 Real-Time Clock/Calendar.
  • MicroNMEA: Compact Arduino library to parse NMEA sentences.
  • MillisTimer: A timer library for working with millis().<br />
  • MilliStopper: Easy to use and lightweight stopper
  • Minimal Timeout: Minimal, production-ready timeout library for Arduino.
  • msTask: Use hardware Timer1 to run tasks in time preset
  • MsTimer2: Run an interrupt function using Timer2
  • muTimer: Arduino library to easily use on/off delays and cycle timers with non-blocking functions.
  • Neotimer: "A powerful non-blocking timer"
  • NoDelay: Arduino library to make use of the Millis funtion for non Blocking Delays.
  • NodeRedTime: Fetch Unix Epoch timestamp from Node-Red flow.
  • NtpClientLib: Ntp Client Library
  • PagonGameDev GameLoop: "Library for Creating Game with GameLoop"
  • PCF8523: Arduino Library for PCF8523 Real-Time Clock
  • PCF8583: PCF8583 Real Time Clock and Event Counter Library for Arduino
  • PollingTimer: Arduino library to manage timing and event in a flexible way with polling
  • ProcessScheduler: An OOP multitasking library
  • ptScheduler: Arduino library for writing non-blocking periodic tasks without using delay or millis routines.
  • PWMFreak: Configures the PWM frequency on a pin
  • RBD_Timer: Manage many timed events.
  • Rocket Scream RTCAVRZero: Minimalistic RTC (Real Time Counter) implementation for MegaAVR 0-series MCU.
  • RT-Thread: Real Time Operating System porting for Arduino SAM and SAMD boards
  • RTC: Library for I2C based RTCs (DS1307, DS3231, PCF8563).
  • RTC RV-3028-C7 Arduino Library: A library to drive the RV-3028-C7 extremely precise, extremely low power, real-time clock
  • Rtc_Pcf8563: A library that interfaces the Phillips PCF8563 Real Time Clock chip.
  • RTCCounter: Provides use of the RTC peripheral in 32bit counter mode. For Arduino SAMD21 boards only.
  • RTCDS1307: Library for rtc 1307
  • RTCDue: Use for the RTC inside the SAM3X8E from the Arduino DUE
  • RTClib: A fork of Jeelab's fantastic RTC library
  • RTCtime: A "Standard C Runtime" compatible library for interfacing the DS1307 and DS3231 Real Time Clock modules.
  • RTCTimer: An Arduino library to easily perform scheduled tasks.
  • RTCx: Library to access DS1307, DS1337/8, MCP7941x and PCF85263 real-time clocks.
  • RV-1805-C3: Library for Micro Crystal RV-1805-C3 extreme low power RTC module.
  • RV-3028-C7: Library for Micro Crystal RV-3028-C7 extreme low power RTC module.
  • SandTimer: Easy to use and lightweight timer
  • SceneManager: cooperative multi-scene manager for Arduino
  • SchedulerESP8266: A library to create timed schedules.
  • ScheduleTable: This library allows to schedule multiple actions along time.
  • secTimer: Simple seconds counter
  • SeqTimer: Small piece of sequential Timer class (does not modify hw timers)
  • simpleDSTadjust: Automatic Daylight Saving Time adjust functionality for Arduino/ESP8266
  • SimpleTicker: A library for creating Tickers, which will notify user that a given period has elapsed. Replaces delay() and allows users to write non-blocking code.
  • SimpleTimer: Simple arduino timer.
  • SimplyAtomic: A library for creating portable atomic blocks within your program
  • slight_Fade: timed value fading.
  • Smart_Duty_Cycling: Automatic duty cycle generation for your Arduino program.
  • SoftTimer: SoftTimer is a lightweight pseudo multitasking solution for Arduino.
  • SoftTimers: The SoftTimers arduino library is a collection of software timers. The library aims at greatly simplifying multitask complexity.
  • SparkFun Clock 5P49V60 Arduino Library: Library that enables all functionality for the SparkFun Clock Generator 5P49V60.
  • SparkFun Qwiic RTC RV1805 Arduino Library: A library to drive the RV-1805 extremely precise, extremely low power, real-time clock
  • spin-timer: Universal Timer with 1 millisecond resolution, supporting OOP principles.
  • StensTimer: An accessible Arduino timer library that enables you to use callbacks on class-instances as well as static callbacks (most commonly used).
  • STM32duino FreeRTOS: Real Time Operating System implemented for STM32
  • STM32duino RTC: Allows to use the RTC functionalities of STM32 based boards.
  • STM32F1_RTC: Allows to use the RTC functionalities of STM32F1xx based boards using external low speed oscillator.
  • StopWatch_RT: Arduino Library implementing a stopwatch.
  • Strober: Easy to use and lightweight led light pattern player
  • Switch2_lib: A clone of Switch_lib (O.Goma) library for switching digital pins with timers, adding milliseconds
  • Switch_lib: A library for switching digital pins with timers, temporization and periods
  • Task by Makuna: A library that makes creating complex mulitple task projects easy.
  • Task Scheduler: Lightweight and fast preemptive scheduler for ATMega and SAM3X Arduino Boards.
  • Tasker: Get rid of delay() calls, schedule tasks/functions instead.
  • TaskManager: cooperative multi-task manager for Arduino
  • Taskrunner: Allows arduino to run scheduler which can run functions at specific frequency
  • TaskScheduler: Cooperative multitasking for Arduino, ESPx, STM32 and other microcontrollers.
  • TeensyTimerTool: Generic Interface to Teensy Timers
  • ThreadedTimer: A threaded timing library for mbed Arduinos
  • Ticker: A library for creating Tickers which can call repeating functions. Replaces delay() with non-blocking functions.
  • Time: Timekeeping functionality for Arduino
  • TimeAlarms: Perform tasks at specific times or after specific intervals.
  • TimeInterrupt: Allows for timer interrupts on various platforms.
  • TimeOut: A library that makes timing callback.
  • TimeoutCallback: Library to call a callback after a certain time.
  • TimeProfiler: Time profiler for Arduino
  • TimerEvent: Use this simple library to create timed events effortlessly.
  • TimerFa: Software Timer
  • TimerFive: Use hardware Timer5 for finer PWM control and/or running an periodic interrupt function
  • TimerFour: Use hardware Timer4 for finer PWM control and/or running an periodic interrupt function
  • TimerFour32u4: Allow usage of the 10-bit hardware high speed Timer4 on ATMega16u4 and ATMega32u4.
  • TimerOne: Use hardware Timer1 for finer PWM control and/or running an periodic interrupt function
  • TimerThree: Use hardware Timer3 for finer PWM control and/or running an periodic interrupt function
  • Timezone: Arduino library to facilitate time zone conversions and automatic daylight saving (summer) time adjustments.
  • TinyRTCLib: A tiny version of RTCLib, for use with TinyWireM
  • UniversalTimer: Easy to use, multifunctional and non-blocking timer.
  • Uptime Library: Uptime library for Arduino boards and compatible systems
  • uTimerLib: Tiny and cross-device compatible timer library
  • VariableTimedAction: A library for creating timed events/actions.
  • WatchDog: WatchDog Timer Functions
  • WeeklyAlarm: weekday timer ( thermostat like scheduler )
  • wiring-timer: Universal Timer with 1 millisecond resolution, based on system uptime (i.e. Arduino: millis() function or STM32: HAL_GetTick() function), supporting OOP principles.
  • Yet Another Arduino Debounce Library: An asynchronous Arduino Library for debouncing
  • ZeroTC45: Allows use of the ARM Cortex-M0 TC4 and TC5 counters for periodic interrupts.