Hola,
Yo soy mucho menos experto que tu XD, pero yo he reducido bastante el espacio de la memoria en vez de programarlo todo en el loop, intento hacer llamadas a funciones siempre que es posible.
Y también definiendo correctamente las variables con el tipo de dato dato que es (boolean, byte, long, etc) y las constantes como constantes, me explico en vez de poner "int pulsador = 2", poniendo "#define pulsador 2".
No se si te servirá de ayuda.
Saludos