Почему зависал микроконтроллер?

Потому что ОКАЗЫВАЕТСЯ автор прошивки для улучшения диагностики сделал так, чтобы при возникновении любой ошибки прошивка впадала в бесконечный цикл...

Ну, хоть причину нашли, и хорошо.