Timers are fundamental to the operation of embedded systems, and are abundant on modern microcontrollers. Timer modules typically include a number of counters, match registers, capture registers and provide input/output capability such as sending a pulse-width modulated waveform to an output port. The counter operates from a base clock through a configurable divider to generate a user-defined frequency. Capture registers are used to record the counter value based on a trigger such as an external signal transition, measuring the time between events in the same manner as a stopwatch. Match registers are compared against the value of the counter to generate a signal that is forwarded to another block such as an alarm clock function, or to an output pin for pulse width modulation. Software executing on the CPU core is typically required to modify the duty cycle of a PWM from one cycle to the next, including data tables that consume RAM memory to control the application waveforms.