Поскольку я пихаю watchdog или автоматический RESET в случае зависания в блок питания 5 версии, то ардуину можно будет программировать только через ISP порт. Заливка скетча через юсб может привести к цикличной перезагрузке и невозможности залить новый скетч через юсб. Через isp - можно и нужно.
Почему watchdog не работает на большинстве современных плат Arduino
Дело в том, что после перезагрузки, которая была вызвана watchdog, контроллеры последних выпусков оставляют включенным watchdog на минимальный период, т.е. 15ms. Это нужно для того, чтобы программа как-то узнавала, что предыдущая перезагрузка была по watchdog. Поэтому первоочередная задача загрузчика (или вашей программы, если она запускается первой) — сохранить информацию о том, что перезагрузка была «неожиданной» и сразу же выключить watchdog. Если этого не сделать, то система уйдет в bootloop, т.е. будет вечно перегружаться.
Как известно, в Arduino есть специальный загрузчик, который выполняется в первую очередь после перезагрузки системы. И, к огромному сожалению, стандартный загрузчик не сбрасывает watchdog! Таким образом, система заходит в жестокий bootloop (состояние «crazy led», при котором светодиод на 13-м пине мигает как сумасшедший). вот так
Если всё таки сильно надо писать скетч через ЮСБ -
тут описание и модифиц. загрузчик.
Поэтому последняя версия скетча, которую можно загружать через ЮСб - для 4 и 5 версии блоков.
_48test_state_pin258 последняя версия скетча, которую можно загружать через ЮСб.rar