Прошивка bootloader arduino nano с помощью arduino nano

25 Январь, 2017

После долгих игр с arduino nano, в какой-то момент она перестала принимать к загрузке скетчи. Подобное случается и рекомендуется прошить заново загрузочную область. Прошивать же, рекомендуют с помощью программатора, которого у меня нет, но, как оказалось, можно обойтись и без него, если есть вторая arduino. У меня как раз была парочка и я озадачился этим вопросом. И вот, что из этого вышло...

1. Нужно подключить arduino-прошиватель к usb и к arduino-пациенту. В официальном мануале, рекомендуется подключить конденсатор на 10мкФ между пинами reset и ground, но это справедливо, только arduino-uno, что очень хорошо, так как конденсатор я такой не нашел.

Подключение выводов:

ISP -  NANO

10  -  Reset

11  -  11

12  -  12

13  -  13

У меня вышло так

undefined

 

2. В меню ПО для arduino, в меню "инструменты --> плата" выбрать свое устройство. В моем случае arduino-nano

3. В том же меню "инструменты --> программатор" выбрать arduino as ISP

4. Загрузить скетч "файл --> примеры --> arduono ISP

5. Теперь, осталось прошить загрузчик, с помощью меню "инструменты --> Записать загрузчик"

У меня, разумеется, не получилось - вывалилось предупреждение: 

"avrdude: WARNING: invalid value for unused bits in fuse "efuse", should be set to 1 according to datasheet

This behaviour is deprecated and will result in an error in future version
You probably want to use 0xfd instead of 0x05 (double check with your datasheet first)."

Пришлось разбираться и с этим. На просторах официального форума, в англоязычной ветке была найдена подсказка:

в файле

"c:\Programs\Arduino\hardware\arduino\avr\boards.txt"

в строке

"nano.menu.cpu.atmega328.bootloader.extended_fuses=0x05"

нужно поменять значение 0x05 на 0XFD

После этого все получится.

 

Вам ведь не нужно напоминать, что вы все делаете на свой страх и риск, и автор статьи не несет ответственности за возможный причиненный ущерб? ;-) Экспериментируйте, ведь дорогу осилит идущий.