Whatever you do, pay attention to how the implementation (and/or library) uses timestamps ("millis()"). Nearly every Arduino example and library I've ever examined does it wrong, leaving the code susceptible to eventual timer wraparound which will yield false events -- either 25 or 49 days into the future.

Cheers