Обновление загрузчика MicroNucleus в Digispark на базе микроконтроллера ATtiny85

Памятки и заметки Скрипты и Кодинг

Платы Digispark на базе ATtiny85 как правило продаются с загрузчиком, который к моменту продажи зачастую устаревает. И большинство плат (не важно официальные или клоны) работают на старом загрузчике Micronucleus версии v1.6. Однако сама плата имеет встроенную возможность обновления имеющегося загрузчика, что дает нам возможность иметь на борту последнюю версию. Само наличие последней версии, позволяет минимизировать различные ошибки и что самое важное, иметь немного больше места под наши скетчи.

Январь 2024: Внесены обновления и уточнения для работы под Windows 7, 10, 11

Установка драйверов

Для обновления загрузчика платы необходимо установить драйвер libusb0.
Под Windows это можно сделать, используя программу Zadig.

Запускаем программу Zadig

Убеждаемся что драйвер для установки выбран именно libusb. Смотрим список подключенных устройств, запоминаем их расположение и названия. Дальше необходима ловкость и скорость… Устанавливаем в гнездо USB плату Digispark, после того как услышите звук подключения нового устройства, в программе Zadig открываем список устройств, находим «неизвестное устройство», которое появилось, выбираем его и быстро жмем на кнопку «Install Driver».

Если все прошло хорошо, вы увидите сообщение о том, что драйвера успешно установлены, после чего отключаем устройство. Бывают моменты, когда устройство может пропасть из списка, через не очень продолжительное время, в этом случае попробуйте снова его отключить и подключить повторно.

реклама

Подготовка инструментария

Скачиваем архив с последней версией загрузчика Micronucleus c GitHub.

Распаковываем архив, например в папку E:\micronucleus-master

Теперь для продолжения необходимо скачать само обновление загрузчика. В имеющейся у меня плате Digispark залит загрузчик версии 1.6, скачиваем c GitHub самое последнее обновление загрузчика micronucleus-1.11-upgrade.hex (v1.11)

Сохраняем скачанное обновление в папку E:\micronucleus-master\commandline

Так же необходимо перейти в папку E:\micronucleus-master\commandline\builds\x86_64-mingw32 и скопировать ее содержимое (libusb0.dll и Micronucleus.exe) в папку E:\micronucleus-master\commandline.

Или скачиваем Micronucleus.exe (micronucleus-cli-master-882e7b4a-x86_64-MINGW64_NT-10.0-17763.zip) и распаковываем содержимое архива в папку E:\micronucleus-master\commandline

Приступаем к обновлению

Открываем командную строку CMD.exe

Переключаемся на диск где у нас распакованы необходимые файлы. Нам необходима папка с файлом micronucleus.exe В моем случае это диск E:\ и папка по адресу \micronucleus-master\commandline\, где и находится нужный файл. У вас может быть другой диск и другая папка, тогда просто меняете свои параметры с учетом этого. Чем ближе к корню вы положите папку, тем проще с ней работать.

Чтобы перейти на другой диск и попасть в нужную директорию, вводим в командной строке следующую команду:

для Windows 7
cd /d E:\micronucleus-master\commandline

для Windows 10 — 11
cd E:\micronucleus-master\commandline

Обязательно убеждаемся в том, что устройство отключено от компьютера

Можно обновляться. Вводим команду

micronucleus --run micronucleus-1.11-upgrade.hex

Если при выполнении ошибка, то можно попробовать:

.\micronucleus.exe --run micronucleus-1.11-upgrade.hex

После появления текста приглашения, подключаем устройство в порт USB

При правильном подключении, программа обнаружит устройство…

… и начнется очистка текущего загрузчика и установка нового

После успешного завершения обновления, должен появиться следующий текст

После чего, можно вынимать устройство из порта USB.
Готово! Наше устройство полностью обновлено и готово к дальнейшей работе.

Проверить текущую версию можно, повторив команды и действия. В ходе успешного обновления мы увидим текущую версию.

После обновления загрузчика, все ранее залитые вами скетчи с платы полностью удаляются. При необходимости, через IDE Arduino заливайте скетчи повторно.

В папке с скачанными инструментами есть прошивки версии 2.2 и 2.6, но в настоящее время они не подходят для установки в качестве обновления, по крайней мере у меня после их установки палаты не вышли в рабочий режим.

Digispark

Установка драйверов для Digispark под Windows

Чтобы работать с платами Digispark под Windows через IDE Arduino, необходимо скачать и установить драйвера Digispark для Windows. Вам нужно будет распаковать скачанный архив и запустить файл под названием Install Drivers.exe.

Инструкция работы с Digispark в IDE Arduino: http://digistump.com/wiki/ [eng]

Январь 2024: Внесены обновления и уточнения для работы под Windows 7, 10, 11

 
 
Вы нашли это полезным ?!
Если хотите отблагодарить, угостите чашечкой кофе ( yoomoney or ko-fi or boosty )

Отблагодарить автора

5 минут на чтение 8 комментариев

комментариев 8

  1. Здравствуйте, провёл все операции, как Вы предложили и теперь контроллер стал куском железа, по новой обновляться не хочет, Windows его определяет как неизвестное устройство. До этого он на 1-2 секунды определял как micronucleus только потом становился как неизвестное устройство. Что теперь делать? не хотелось бы просто выкидывать.

    1. Проблему только могу предположить или не тот загрузчик был залит, или в процессе произошел сбой, теперь вероятнее всего висит в состоянии (Сбой дескриптора устройства), а без загрузчика плата просто кусок текстолита. Но в общем то шанс есть, все упирается в нервы и время. Нужно шить загрузчик через программатор, наличие которого и является проблемой.

      На вскидку вот несколько вариантов и оба замороченные:
      https://github.com/J-Rios/Digispark_Unbricking?tab=readme-ov-file

      https://github.com/micronucleus/micronucleus/issues/194
      https://arduino.stackexchange.com/questions/44702/esp8266-as-isp-program-for-atmega16/44704#44704

      Увы но такой нюанс встречается у Digispark и случается даже у оригинальной модели (в продаже чаще клоны). За время использования плат, через руки наверное шт 20 прошло и купив на днях парочку, первая же оказалась с такой проблемой, прямо из упаковки не стала определяться (вторая нормальная). Буду пробовать оживить по второму варианту, а потом уже обновлять по инструкции.

      1. Здравствуйте. Сегодня получил программатор прошил программу через ISP программа работает, через USB так и не определяется, не подскажете возможно ли залить загрузчик через программатор, если возможно то как это сделать.

  2. спасибо за утешение!
    Шить по ISP пробовал через Arduino NANO, не получается выдаёт ошибку. Какой требуется программатор, программатор AVR USBISP USBASP ATMEGA128 такой подойдёт? Он работает по ISP. Возможно ли прошить через Arduino IDE, или нужно так же через cmd.

    1. Ни разу не шил через программатор именно Digispark, не могу утверждать точно, но по теории она через Arduino IDE не шьется, в виду своих особенности работы, даже скетч мы льем ведь подключив в интервале минуты после отправки скетча. Так же все же через консоль. Можно попробовать по варианту 1 из ссылок выше. Там автор через avrdude восстанавливает. Я сейчас сам восстанавливаю ESP8266 так как на них были залиты загрузчики специфичные и чтобы их убрать нужно танцы с бубном, а далее через подключение к ножкам, вместо программатора так же через консоль буду пробовать.

      1. Спасибо.
        У меня всё получилось с заливкой скетча на 88, по поводу ESP там стоит CH340, проблем не должно быть.

        1. Если не сложно поделитесь схемой подключения и общим алгоритмом восстановления, шаги, действия и прочее, чтобы можно было добавить в пост, для тех кто столкнется с такой же проблемой.

          1. Здравствуйте, схемы никакой нет, заливал через программатор AVR USBISP USBASP ATMEGA128 по ISP, загрузчик встроенный в Arduino IDE, но получилось только залить ATtiniy 48/88 (nobootloader), MH ET t88 не даёт записать, выдаёт ошибка записи загрузчика. Может как то можно это сделать но я не знаю. пользовательскую программу я то же заливал через программатор, по USB, после моих ухищрений вообще остаётся не опознанное устройство и драйверов нет.

Ваш отзыв очень важен для Авторов этого блога. Критика, отзывы, дополнения и уточнения, вопросы, мотивируют развиваться и работать над собой и своими ошибками. Отклик на публикации, позволяет понять полезен ли материал, стоит ли создавать продолжение, дополнять или исправлять уже имеющийся материал, развивая блог и делая его полезнее.

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *