Problema extraño con TimeAlarms

Buenas tardes,

Efectivamente parece que me quedo sin RAM para el programa y por eso unas veces funciona y otras no. Así que deberé cambiar de estrategia.
Por lo que he leido, la libería de timers se come mucha memoria y es lo que hace que no salten.

No veo una solución clara, limitar el uso del programa y eliminar lo que no sea imprescindible, y que se pueda realizar desde el exterior, por ejemplo el ajuste de la hora.
También veo un problema añadido, ya que pretendía que las alarmas fueran dinámicas, es decir, que por programa se pudieran reajustar, pero teniendo en cuenta que siempre sería el mismo número de ellas, "n" alarmas y por lo que he podido ver, con esta libería no es posible.

¿sabeis de alguna otra libería que pueda hacer lo que necesito? He buscado pero no he encontrado nada.

Otra cosa que se me ocurre es hacer una rutina que compruebe la hora y comparala con la de las alarmas, y así actuar en consecuencia. Tengo que echarle un rato de pensamiento ya que veo alguna dificultad con la comparación de los tiempos (o hacerlo día, hora y minuto por separado) y levantar un flag para que no haya rebote dentro del mismo minuto.

Muchas gracias por vuestra ayuda.