Зачем столько садизьму над адуринкой-то?
Нужно перезалить прошивку с фузами - делаем ардуиноISP из нанки, устанавливаем его в графе "инструменты - программатор"(или имеющийся под лапами, который соответствует выпадающему списку доступных для данной версии IDE программаторов) и выполняем "инструменты -> записать загрузчик".
IDE автоматически подберет из встроенных архивов и вариант загрузчика и вариант комплекта фузов под установленную в "инструментах" конфигурацию платки.
Программатор к ПК цепляем через СОМ порт, а прошиваемую платку к программатору через разъём ISP.
Это штатный инструмент самой IDE.
МК прошиваемой платки может быть "абсолютно чистым" (свежекупленным с фузами по умолчанию или свежестертым "общим стиранием").
Или может хотим *.hex файлы получить перед пршивкой?
Тоже без особых проблем - IDE может сгенерировать два "стандартных" хекс файла в папку проекта при нажатии "скетч -> экспорт бинарного файла"...
Там будут два файлика - один с бутлоадером (но без набора фузов), другой без бутлоадера.
Набор фузов УВЫ, придется считывать из МК.
А вот то, что вычитывается из МК "сторонним программатором" будет соответствовать только формату софтинки того "стороннего программатора"...
И совсем необязательно именно intel hex8, да еще и с "удалением лишних строчек со сплошным 0xFF".