En primer lugar: te quedan solo 894 bytes libres.
Arduino UNO tiene 1K de memoria SRAM y te quedan 894 bytes. En principio parece que tienes bastante memoria, pero Arduino Mega 2560 tiene 8Kb y los cuelgues suelen tener que ver con la gestión de la memoria.
Faltan cosas importantes por implementar cosas que consumirán más memoria, tales como gestionar el fotoperiodo y el dimmer y gestión de menús. Ojalá tuviera un Arduino UNO para probar con él.
En segundo lugar dice:
SEL( 966) 145
Te ha identificado el pulsador central, pero este debería entregar SEL(1023) 145
El valor 145 indicaría que ese boton central ha sido presionado durante 14 segundos y medio.
Podría existir algún problema hardware con la botonera. Repasa ese montaje.
En tercer lugar:Dice RTC parado, pero ese error solo debería aparecer una vez en un primer intento. La segunda vez que lo arranques debería funcionar, porque al fallar en un primer intento opta por poner ajustar la hora y fecha del RTC con la hora y fecha de compilación.
Podría existir algún problema hardware con el RTC o con el bus I2C.
El objetivo de este programa era validar el hardware, y parece que en ese terreno hay más de un problema.
Cosas que puedes hacer:
1) Puedes repasar el hardware de la botonera.
2) Puedes descargar programas Arduino especificamente orientados a probar cada uno de los componentes. Concretamente hay que averiguar por qué parece no ir bien el RTC.
Cosas que yo podría hacer:
1) Por mi parte, puedo desarrollar un programita de aún más bajo nivel para leer la entrada analógica de la botonera para intentar descartar problemas de interferencias eléctricas.
A mí la botonera me va de lujo. Estoy navegando por una serie de menús usando esta botonera.
2) Poco más podría hacer, porque no soy muy dado a simplificar el código, piensa que para poder poner en hora el reloj necesitas un display y una botonera. También veo muy necesario un sistema de menús.
El hecho de que a mí me funcione en Arduino 2560 no significa que esté libre de bugs. Los fallos pueden ponerse de manifiesto en condiciones muy concretas y la cantidad de memoria disponible es una de ellas. Se que esta vez no te estoy ayudando mucho, pero con los datos que tengo poco más se me ocurre.
Sobre los tres distintos tipos de memoria que usan las diferentes placas de Arduino y para que sirven puedes mirar esto:
http://playground.arduino.cc/Learning/Memory