Как перепрошить программатор usbasp
«Перепрошить» китайский программатор USBasp может даже новичок. Для этого достаточно:
1. Перевести USBasp в режим, разрешающий программирование встроенного микроконтроллера! Обычно это делается установкой соответствующей перемычки или замыканием определенных контактов на плате!
Например, у программатора на фото — это контакты, отмеченные линией!
2. Подключить USBasp к любому программатору, который поддерживает программирование AVR контроллеров!
Выходы контактного разъема USBasp должны быть соединены в точности так же, как и при «прошивке» обычного микроконтроллера! То есть:
GROUND (GND) — общий провод GND <—>GND
VCC (питание) должно быть не больше 5V! VCC <—> VCC
SCK (serial clock) — последовательная синхронизация! Импульсы генерирует MASTER (ведущее устройство) SCK <—> SCK
MOSI (MASTER OUT SLAVE IN) – это выход сигнала с MASTER (ведущего) устройства на SLAVE (ведомое)
MISO (MASTER IN SLAVE OUT) – вход для ведущего устройства, на который сигнал приходит с выхода ведомого!
RESET (сброс) – обратите внимание именно на этот контакт поступает сигнал для начала программирования! По умолчанию вывод RESET встроенного в USBasp контроллера не подключен – подключается он замыканием соответствующих выводов (установкой перемычки) см. фото!
Внимание, если ваш USBasp работает нормально, не спешите его сразу «перепрошивать» – сделайте вначале резервную копию «прошивки»!
Перед «прошивкой» желательно полностью стереть чип, не изменяя FUSE Bits!
Фьюз биты AVR микроконтроллера – это специальные ячейки памяти для конфигурации его работы. Помните, что неправильная установка даже одного фьюз бита, может привести к тому, что контроллер начнет работать совсем не так, как ожидалось, и возможно даже перестанет реагировать на команды с обычного ISP программатора!
Если «прошить» USBasp у вас не получается, скорее всего:
— неправильно подсоединены выводы – попробуйте поменять местами MOSI и MISO, предварительно убедившись, что всё соединения имеют надежный контакт!
— неправильно выбран тип микроконтроллера – выберите его вручную!
После загрузки в USBasp новой прошивки обязательно разомкните выводы (снимите перемычку), чтобы программатор смог работать в обычном режиме!
Стоит также заметить, что для «перепрошивки» USBasp не обязательно использовать программатор – его можно заменить даже дешевой платой Arduino, поддерживающей USB! Например, китайским аналогом Arduino Nano ! Разумеется, предварительно в плату Arduino необходимо загрузить скетч (программу) «Arduino ISP».
USBASP firmware update
The USBASP is a popular and inexpensive programmer for AVR controllers. These are frequently sold with an outdated firmware. Find out below how to easily update it to support TPI and get rid of warning messages.
The problem
The USBASP is an open-source in-circuit programmer for Atmel AVR controllers designed by Thomas Fischl. On his website 1 , you can download the most recent firmware and find all the information to build one. You can also buy it for really cheap from several places on the web. However the cheap versions may have an outdated firmware. One sign of old firmware is the following warning message:
However, this is just a warning and the programmer is probably still uploading the files correctly. One feature your USBASP is missing is the support for Tiny Programming Interface (TPI) 2 required to program smaller AVR microcontrollers like the ATtiny10. Therefore if you want to program the ATtiny10 you better update the USBASP. Updating the firmware it’s relatively easy and can be done with just an Arduino and some jumpers.
— a common USBASP programmer —
Set up Arduino as ISP
We need Arduino to act as a programmer. To do so we just need to upload a sketch already available within the Arduino examples. Therefore from the Arduino IDE:
- Go to File > Examples > ArduinoISP
- Connect Arduino
- Click on Upload
Done. Now Arduino is ready to upload a firmware to another device, the USBASP in our case.
Wiring
The following scheme shows the connections between the Arduino pins and the USBASP. Double-check the connections as most of the issues will come from a loose wire or wrong pins connected.
| Arduino | USBASP |
|---|---|
| 5V | 2 |
| GND | 10 |
| 13 | 7 |
| 12 | 9 (MISO) |
| 11 | 1 (MOSI) |
| 10 | 5 (RESET) |

Close jumper 2
Make sure you close the JP2 in on the USBASP board. Without doing so the board cannot be reprogrammed. To close jumper 2 on the USBASP you can solder something to it or simply use a wire and tighten it to both holes. Make sure it doesn’t move and lose the connection halfway the firmware upload.
— close the jumper using even just a wire or a paper clip. No need to solder. —
Firmware
The firmware can be downloaded from Thomas Fischl website. Once you have downloaded the latest version you should find a .hex file inside the archive. That is the file we’ll upload to the device. In case of the 2011 firmware (the most up-to-date the time of writing), is the following:
avrdude
The final step is to upload the firmware using avrdude 3 . I will assume you have the Arduino IDE installed. Then the easiest way to get Avrdude is to look for it inside the Arduino IDE files (alternatively you can get it from the web). The avrdude executable will be at the following location:
We will also need a configuration file avrdude.conf that can be found here:
Copy 4 these two files and paste them inside a folder together with the firmware file ( usbasp.atmega8.2011-05-28.hex in this case). Then you need to identify the port used by Arduino. To find it:
- Connect Arduino to the USB
- Open the Arduino IDE
- Go to Tools>Port
Make note of the port used (/dev/cu.usbmodem14101 in my case) From the terminal navigate inside the folder where you placed avrdude and type the following command using the right port for the option -P
Done! If you don’t get any error message, your USBASP is ready.
References
Here I suggest to copy the avrdude executable and configuration file inside a folder with the .hex file just because when running it from the terminal the path is shorter ↩
Прошивка Китайского программатора USBasp AVR

, когда пришел он мне радости не было предела, я сразу начал испытывать но он не хотел ни как работать вообщем я с ним неделю мучился в итоге кинул в далёкий ящик, но вчера собрал другой программатор USBasp AVR похож на 910 программатор

он у меня заработал я написал про него блог и в одном комментарии было приложено видио про прошивку китайского программатора но китайским софтом вот это видио
я подумал, а если влить прошивку от 910 программатора всё равно лежит без дела, заработает будет два программатора, не заработает значит выкину . И так в видио сказано что все необходимые контакты от меги выходят на колодку единственное надо линию RESET перемкнуть
Обведено кружком
Подключаю программатор родным шлейфом к 910-му, а 910 к компьютеру замыкаю линию RESETзапускаю программу DUDE выбираю мега8 и нажимаю считать, мега считалась все нормаль загружаю прошивку фузы не трогаю и нажимаю программировать. На удивление программирование прошло хорошо. Проверяю РАБОТАЕТ! подключил к нему отладочную плату с мегой

считываем все хорошо

Теперь у меня два программатора:):):) . Большое спасибо вот этому человеку electricfromufa
Обновление прошивки UsbAsp
Я купил программатор USBasp на Dx.com чтобы использовать с Arduino IDE для прошивки Arduino Pro mini.
Всё работало нормально, но выдавало вот такую ошибку:
〉 avrdude: warning: cannot set sck period. please check for usbasp firmware update
В-общем требовалось обновление прошивки программатора USBasp.
-
- Качаем обновление прошивки отсюда .
- Распаковываем, и лучше сразу положить новую прошивку в папку с avrdude (у меня это было здесь: C:\Program Files (x86)\Arduino\hardware\tools\avr\bin).
- Подключаем USBasp программатор к Arduino Uno по схеме:

- На программаторе ставим джампер в позицию J1 (для этого я воспользовался скрепкой). Стоит отметить, что программаторы бывают разные, а значит и джампер может отличаться:

- Подключаем Arduino Uno, запускаем Arduino IDE, выбираем ArduinoISP и загружаем

- И нужно запомнить com-порт, к которому подключена Arduino Uno (Инструменты ⇒ Порт).
- Запускаем командную строку. Переходим в папку C:\Program Files (x86)\Arduino\hardware\tools\avr\bin. Проверяем подключение к USBasp, для этого вводим следующую команду: avrdude -C ../etc/avrdude.conf -c avrisp -P COM2 -b 19200 -p m8 -v (замените com-порт на ваш). Если всё в порядке, Вы получите вот такой результат:

- Теперь прошиваем наш программатор вот этой командой: avrdude –C ../etc/avrdude.conf –c avrisp –P COM2 –b 19200 –p m8 –U flash:w:usbasp.atmega8.2011-05-28.hex и должны получить вот такой результат:

- Поздравляю! Теперь можно использовать программатор по назначению!
Related Articles

Определяем схему умного дома

Безопасность умного дома

Устанавливаем сервер на Raspberry PI
7 Replies to “ Обновление прошивки UsbAsp ”
Пункт 8 не проходит.
D:\konstructor\arduino-1.6.8\hardware\tools\avr\bin>avrdude –C ../etc/avrdude.conf –c avrisp –P COM39 –b 19200 –p m8 –U flash:w:usbasp.atmega8.2011-05-28.hex
avrdude: can’t open config file «»: Invalid argument
avrdude: error reading system wide configuration file «»Файлик «usbasp.atmega8.2011-05-28.hex» лежит тут: «D:\konstructor\arduino-1.6.8\hardware\tools\avr\bin\»
При попытке копировать конфиг «D:\konstructor\arduino-1.6.8\hardware\tools\avr\etc\avrdude.conf» в папку: «D:\konstructor\arduino-1.6.8\hardware\tools\avr\bin\» выходит следующее:
avrdude: no programmer has been specified on the command line or the config file
Specify a programmer using the -c option and try again
Это я даже путь «../etc/avrdude.conf» не менял, если менять на «avrdude.conf» тоже самое выходит.
Уже третий день бьюсь.
Решил. Спасибо добрым людям.
https://toster.ru/q/174807 — тип дал ссылку (http://www.rogerclark.net/updating-firmware-on-usbasp-bought-from-ebay/), по которой всё срослось. Правда у него другая ошибка была.Т.к. вся информация там такая же как и здесь, то дело видимо было в распиновке.
