Ну для начала, я думаю можно отсюда выкинуть библиотеки в строках 2 - 6. и в строке 97 выкинуть tight_loop_contents().
Теперь другой вопрос.
В строках 77-96 выполняется код, который выводится в Serial 1 раз в секунду. Если время выполнения кода в этих строках будет больше 1 секунды то наверное вызов прерывания в 27 строке будет не всегда выполняться правильно. Как лучше обойти это ограничение? Что можете посоветовать?