Программатор usbasp

Содержание

Чтение и запись фьюзов Ардуино

avrdude -C ../etc/avrdude.conf -c usbasp -p m328p -U lfuse:r:-:h

  • -c <programmer> — псевдоним используемого программатора, в данном случае usbasp.
  • -p <partno> — тип микроконтроллера. Я считываю фьюзы из Ардуино Уно, в которой установлен микроконтроллер ATmega328p, поэтому в качестве <partno> указано значение m328p.
  • -U <memtype>:r|w|v:<filename> — комплексная опция для указания производимой с памятью операции (чтение. запись, проверка). -U lfuse:r:-:h означает, что требуется прочитать содержимое младшего байта конфигурации и вывести считанное значение на экран в щестнадцатеричном виде.

А вот и результат выполнения приведенной команды:

Если у вас в результате присутствует строка avrdude: warning: cannot set sck period, please check for usbasp  firmware update, то не обращайте на нее внимание. Это всего лишь предупреждение, не ошибка, работе оно не мешает

Если вы всё же хотите от него избавиться, то нужно обновить прошивку USBasp, данная процедура подробно расписана в статье Прошивка USBasp. Как видно из скриншота, значение младшего конфигурационного байта равно 0xff, команда отработала успешно.

Теперь проверим запись фьюзов с использованием USBasp. Я изменю значение дополнительного конфигурационного байта с 0xFF на 0xFD, что приведет к установке порога срабатывания схемы BOD в 2.7В. Команда для Avrdude и результат ее выполнения приведены ниже:

avrdude -C ../etc/avrdude.conf -c usbasp -p m328p -U efuse:w:0xFD:m

Чтение и запись FLASH и EEPROM памяти Ардуино

В приведенных выше примерах команд для Avrdude в качестве параметра <memtype> использовались значения lfuse и efuse для доступа к конфигурационным байтам микроконтроллера. Данный параметр может принимать и другие значения, они приведены ниже:

  • calibration — байты калибровки RC-генератора;
  • eeprom — энергонезависимая память микроконтроллера;
  • efuse — дополнительный конфигурационный бит;
  • flash — FLASH память микроконтроллера;
  • fuse — фьюз-байт для микроконтроллеров с одним fuse-байтом;
  • hfuse — старший fuse-байт;
  • lfuse — младший fuse-байт;
  • lock — байт блокировки (ячейка защиты);
  • signature — три байта что обозначают сигнатуру чипа (device ID);
  • fuseN — байт с фьюзами для ATxmega чипов, N — целое число для каждого фьюза что поддерживается устройством;
  • application — область приложений во Flash памяти для МК ATxmega;
  • apptable — таблица приложений в области Flash памяти для устройств ATxmega;
  • boot — загрузочная область Flash памяти для устройств ATxmega;
  • prodsig — область с производственной сигнатурой (calibration) для устройств ATxmega;
  • usersig — область с пользовательской сигнатурой для устройств ATxmega.

Таким образом, для чтения FLASH Ардуино Уно (микроконтроллера ATmega328p) может быть использована следующая команда:avrdude -C ../etc/avrdude.conf -p m328p -c usbasp -U flash:r:flash_dump.hex:i
Файл с содержимым FLASH памяти микроконтроллера будет создан в каталоге Avrdude. Либо можно прописать в команде полный путь к файлу.
Для записи в FLASH память содержимого файла flash_dump.hex можно использовать команду:avrdude -C ../etc/avrdude.conf -p m328p -c usbasp -U flash:w:flash_dump.hex:i
Чтение EEPROM:avrdude -C ../etc/avrdude.conf -p m328p -c usbasp -U eeprom:r:eeprom_dump.hex:i
Запись EEPROM:avrdude -C ../etc/avrdude.conf -p m328p -c usbasp -U eeprom:w:eeprom_dump.hex:i

Запись загрузчика в Ардуино

Процедуру записи загрузчика я описывал ранее в публикации Arduino as ISP — программатор из Ардуино. Как и в прошлый раз для записи загрузчика мы будем использовать IDE Arduino. Последовательность шагов следующая:

Установка драйвера для USBASP в Windows 10

Если вы используете интерфейс JTAG, вам может потребоваться установка драйвера для USBASP если он не установился автоматически. Если вы не установите этот драйвер, то вы не сможете найти порт USBASP в программе Atmel Studio. Скачать драйвер USBASP можно по этой ссылке — http://www.mediafire.com/file/z576zrku371qyjs/windows-8-and-windows-10-usbasp-drivers-libusb_1.2.4.0-x86-and-x64-bit.zip/file.

После скачивания драйвера выполните следующую последовательность действий:

1. Распакуйте из архива скачанные файлы и поместите их на рабочий стол.

2. Подсоедините модуль USBASP v2.0 к своему компьютеру.

3. Откройте в Windows диспетчер устройств (Device Manager).

4. Теперь вы можете увидеть подсоединенный USBASP в списке устройств.

5. Кликните правой кнопкой мыши по “USBasp” и выберите “Обновить драйвер (Update Driver)”.

6. Select “Произвести поиск драйвера на своем компьютере (Browse my computer for driver software)”.

7. Найдите в открывшемся окне распакованную папку с драйвером для USBASP и щелкните «Открыть».

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

9. Если вы увидите сообщение об ошибке как на приведенном рисунке, то вы в этом случае должны отключить цифровую подпись драйвера.

Чтобы сделать выполните следующие шаги:

— нажмите кнопку Shift и удерживая ее нажатой перезагрузите свой компьютер (кликните Restart в меню Windows пока держите ее нажатой);

— когда ваш компьютер перезагрузится не отпускайте кнопку Shift до тех пор пока не увидите “Advanced Options (Расширенные настройки)” на синем экране;

— отпустите кнопку Shift и кликните на “Startup Settings”;

— кликните на “Troubleshoot (Устранение проблем)”;

— выберите “Advanced Options (Расширенные настройки)”;

— после этого вы увидите на экране список расширенных опций и кнопку “Restart” в правом нижнем углу – кликните на ней;

— подождите пока компьютер снова перезагрузится. После этого вы увидите на экране ряд настроек;

— в открывшемся списке настроек выберите пункт “Disable Driver Signature Enforcement (Отключить цифровую подпись драйвера)”. Чтобы ее выбрать просто нажмите кнопку «7» на вашей клавиатуре (не путать с кнопкой «F7»);

— после нажатия этой кнопки компьютер перезагрузится и цифровая подпись драйвера будет отключена;

— после этого снова выполните шаги 1-8 из данного раздела статьи и драйвер для программатора USBASP будет успешно установлен.

Первый запуск USBasp программатора

Теперь, когда все детали спаяны, остается только «прошить» микроконтроллер Atmegę8 самого программатора. Для этого нужен отдельный программатор, это может быть, например, STK 200 (LPT порт), STK500 и т. д. LPT программатор подключается к USBasp через разъем IDC-10.

Обратите внимание, что распределение пинов в разъеме оригинального программатора (USBasp) находится справа, в то время как в версии, описываемой в этой статье – слева:

Распределение, показанное на рисунке справа, соответствует тем, которые применяет компания Atmel в своих оригинальных программаторах. Такое распределение уменьшает риск возникновения помех во время программирования в случае применения длинных проводов от программатора к контроллеру, так как каждая сигнальная линия экранирована массой, кроме MOSI.

На время программирования включите режим SELF путем переключения DIP переключателя № 3 в положение ON. Благодаря этому появляется возможность запрограммировать Atmega8. После завершения программирования, положение переключателя (3) должна быть переведено в состоянии OFF.

Последнюю версию прошивки можно скачать с официального сайта. Рекомендуем версию для Atmega8, которая находится в архиве: usbasp.2011-05-28.tar.gz.

Обратите внимание, чтобы перед программированием Atmega8 необходимо выставить фьюзы которые имеют следующие значения:

  • # для Atmega8: HFUSE=0xC9 LFUSE=0xEF
  • # для Atmega48: HFUSE=0xDD LFUSE=0xFF

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

Программирование микроконтроллеров AVR фирмы Atmel

1. Микроконтроллеры — первый шаг2. Системы счисления: десятичная, двоичная и шестнадцатиричная3. Логические операции, логические выражения, логические элементы4. Битовые операции5. Прямой, обратный и дополнительный коды двоичного числа6. Программа AVRDUDE_PROG: программирование микроконтроллеров AVR ATmega и ATtiny

USBASP -USB программатор для программирования микроконтроллеров AVRUSBASP ISP программатор и AVRdude prog: программирование микроконтроллеров AVR ATmega, ATtiny. Как прошить микроконтроллер.Published by: Мир микроконтроллеров

Цена: 3$ (2шт.)

В моём случае это абсолютный рекордсмен по скорости доставки — около 5 месяцев беспечного блуждания непонятно где. Несмотря на чудовищную задержку по времени, пакет я всё-таки получил, чему несказанно рад, не взирая на недочёты, о коих поведаю ниже. Поскольку у меня весьма плохая память, то нужно было объединить найденную полезную информацию где-то в одном месте в виде памятки, собирать её по крупицам в разных закоулках сети оказалось делом нетривиальным, поэтому оформлю всё это отдельным постом. USB ISP — самый дешёвый программатор контроллеров AVR, что можно найти в продаже, брался для расширения кругозора и более углубленного изучения AVR. Обзор в себя включает: описание программатора, как его подключить к чипу, настройку его работы в программах AvrDude Prog, Khazama, Atmel Studio 7, и не только это. Конечно вместо него можно использовать Arduino UNO с прошитым в него скетчем ArduinoISP, но это не удобно, возня с проводами, особенно если UNO всего одна, отбивает энтузиазм. Проще было заиметь отдельно такой программатор, точнее два. По двум причинам:1) Ещё перед покупкой уже из отзывов было понятно, что качество пайки этих устройств страдает, а некоторым ещё и с расколотыми стабилитронами они приходили. Решено было подстраховаться, заказав два.2) Один программатор к тому же можно шить другим, переставив перемычку на ведомом устройстве.

Устройство программатора USBasp

Программатор состоит из небольшого числа деталей. Мозгом программатора является микроконтроллер Atmega8, который имеет всего 8 кб флеш памяти и 1 кб ОЗУ(SRAM).Вроде и слабенький микроконтроллер по современным меркам, но столько всего можно на нем сделать.Из-за особенностей работы программного USB м/к работает на частоте 12мгц. Соответственно, при написании своей прошивки необходимо учитывать это.

USBasp имеет 10 контактный разъем, на который выведены 6 выводов микроконтроллера: PB5 (SCK), PB4 (MISO), PB3 (MOSI, PWM), PB2(PWM), PD0 (RXD), PD1 (TXD).

Плата имеет два встроенных светодиода на выводах PC0 и PC1.Выводы м/к PB0,PB1 и PD2 используются для программного USB,PC2 выведен на перемычку JP3.Остальные выводы микроконтроллера не распаяны.

схема USBasp2.0

распиновка разъема USBasp

Установка WinAVR в Atmel Studio

1. В пункте меню “Tools (Инструменты)” выберите “External Tools (Внешние инструменты)”.

2. У вас откроется окно, где вы должны будете ввести имя вашего инструментального средства.

3. В пункте “Title (название)” введите имя вашего внешнего инструментального средства. Можно выбрать любое имя, но в рассматриваемом примере мы выбрали имя “USBasp”. Поставьте галочку в пункте ”Use Output Window” и снимите галочку с пункта “Prompt for arguments” как показано на нижеприведенном рисунке.

4. Теперь ведите “Command”. Там будет необходимо указать путь к “avrdude.exe” – его вы можете найти в папке где установлена WinAvr. Просто найдите “WinAVR-20100110” на диске “C” вашего компьютера – куда вы устанавливали WinAvr.

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

6. Больше аргументов можно найти по этой ссылке.

7. Введите аргументы в поле для ввода аргументов. Оставьте поле “Initial directory (Начальный директорий)” без изменений.

8. После заполнения всех полей нажмите “Apply” и затем “Ok”.

В результате этих шагов вы сможете использовать внешние инструментальные средства чтобы загружать программы в микроконтроллер. Проверим это с помощью тестового проекта (программы) “blink.c”. Файл main.c вы можете найти в конце этой статьи. Теперь скопируйте main.c в Atmel studio.

Прошивка микроконтроллера

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

Прошивка МК осуществляется при помощи файла с расширением HEX. Перед тем как заливать прошивку нам нужно очистить кристалл, от старой прошивки которая уже имеется в памяти МК. Для это жмем на кнопку «стереть все»

Далее нам нужно выбрать сам файл c расширением HEX.

выбираем наш файл «Lesson 1.hex»

После чего жмем кнопку «программировать»

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

Есть еще один момент, после того как мы прошили МК, нам нужно установить FUSE бит CKDIV8, для этого переходим во вкладку Fuses.

CKDIV8 — fuse бит, который делит частоту кварцевого (или иного имеющегося) тактового генератора на 8. То есть при включенном этом бите и применении кварцевого резонатора на 8 МГц реальная тактовая частота МК составит 1 МГц.

Далее опять жмем кнопку «Программирование»

Hardware

Partlist

Partnumber Value Reichelt No
C1 4,7u RAD 4,7/35
C2 100n X7R-5 100N
C3, C4 22p KERKO 22P
D1, D2 3V6 zener ZF 3,6
CON1 USB-B USB BW
CON2 10pol WSL 10W
IC1 ATmega8-16 ATMEGA 8-16 (not programmed!)
JP1, JP2 2pol 2,54mm SL 1X36G 2,54
LED1 3mm LED green LED 3MM 2MA GN
LED2 3mm LED red LED 3MM 2MA RT
Q1 12Mhz 12,0000-HC49U-S
R1, R2 68 1/4W 68
R3 2,2k 1/4W 2,2k
R4, R5, R6, R7 270 1/4W 270
R8 10k 1/4W 10k
R9, R10 1k 1/4W 1k
M1, M2 Jumper JUMPER 2,54GL SW
M3 Socket 28S GS 28-S
M4 Case TEKO 10007
M5 PCB

User PCB layouts

   usbasp_single_side.t3001.zip
by Thomas Fischl
Single-Side PCB, TARGET 3001! layout file
Size: 90×40 mm
(optimized for case Hammond 1591ATBU)
   lv_usbasp.tar.gz
by Pawel Szramowski (11/2007)
With Low-voltage front-end.
Single-Side PCB, EAGLE layout files, some SMD components
   by Bernhard Walle
Double-Side PCB, EAGLE layout files, part list with order numbers for Reichelt.de and Conrad.de
Size:
optimized for case Hammond 1591ATBU
   http://thomaspfeifer.net/atmel_usb_programmer.htm
by Thomas Pfeifer
Single-Side PCB, PDF layout files, SMD components
   by Tomasz Ostrowski
Single-Side PCB, PDF and EPS layout files, only four 0805 SMD parts, rest discrete components
   USBasp_CH.zip
by Christian Heigemeyr
Single-Side PCB, with some SMD 0805 components, PDF-files
With additional buttons for reset and disconnection of the target
   USBasp.sch,
USBasp.pcbComponentSide.pdf,
TopSide.pdf,
Schematics.pdf
by Zhurov Pavel
Single-Side PCB, P-CAD 2002 format and PDF files
Crosspiece TXD and RXD are added for the ISP connector
   usbasp_gr.rar
by J.A. de Groot
The board is single sided (EAGLE format), measures 3 by 8 cm and uses only regular components.
  

usbasb_mg.zip
by Matthias Görner

Single-Side PCB, eagle-format, with PS/PDF-files
integrated sockets for target chips ATmega8 and ATmega32

  

Tarball with layout
by Hannes Östlund

Doubleside-Side PCB, SMD components, very small

  

by Sergiy Bogdancev (01/2010)

3.3V version, ATMega48 only. Single-side PCB, ExpressPCB layout format + socket board for varies AVRs.
Without future serial interface, chip initially must be programmed with another programmer.

   Eaglefiles (sch/brd) and CAD case design (dxf)
by Hans Hafner, HTL Mössingerstrasse-Klagenfurt, Österreich, hans.hafner (at) htl-klu (dot) at
(01/2010)
CNC-milled case (DXF file available), Eagle layout, only a few SMD parts
   Different USBasp versions: Easy to built non-smd, smd version and a very small USBasp
by Sven Hedin
(01/2011)
Eagle files available.
   USB Key AVR Programmer
by Fabio Baltieri
(09/2011)
Very small USB key like dimensions. SMD parts.
   AVR ISP Programmer
by Jaroslav Vadel
(04/2012)
Small programmer. SMD parts.
   Target project and PDFs (layout/schematics)
by Marius Schäfer
(09/2013)
  

by Stephan Bärwolf
(04/2014)

   USBasp on breadboard with socket for controller daughter boards.
by Fabian Hummel
(11/2018)
   Tjaart van Aswegen designed an SMD board: DIP TRACE and GERBER files.
by Tjaart van Aswegen
(09/2019)
  

Feature rich (e.g. different voltage levels, integrated USB to serial converter, USB-C connector) USBasp compatible design.
AVR Programmer Github project.
by Brian Pepin
(12/2019)

   USBasp with ZIF socket and through hole components.
by Bruno
(04/2020)
   USBasp board with additional 6pin header and selectable target supply (3.3V/off/5.0V).
by Marty E.
(10/2020)
   John included a 40 pin universal socket which takes 8, 14, 20 and 28 pin devices.
He also added a versatile crystal oscillator with outputs of 1, 2, 4, 8 and 16 Mhz to clock the chips.
There is also the standard 6pin ICSP connector and a user led connected to the MOSI pin.
by John P.
(11/2020)
   QUSBASP features a small size and flexibility (different connection options: USB-A or pin header, ICSP with 6 or 10 or pogo pins).
by Qetesh
(07/2021)

Строительство USBasp программатора

Существует много версий печатной платы данного программатора, некоторые можно найти на официальном сайте USBasp. Однако, была сделана своя на основе выше представленной схемы.

К сожалению, из-за применения DIP переключателей, рисунок платы стал немного сложнее, что привело к применению 2 коротких перемычек, с целью чтобы печатная плата была по-прежнему односторонней.

Ниже результат печатной платы:

Как видно на рисунке, в программаторе не применялись SMD элементы. Пустое пространство на плате „залито” полем массы, главным образом для того, чтобы не вытравливать большое количество меди, а также снизить влияние помех на программатор.

Список элементов используемых в USBasp программаторе:

  • R1: 10к
  • R2: 180
  • R3: 100
  • R5, R6: 68
  • R7: 2к2
  • C1, C2: 22п
  • C3: 10мк
  • C4: 100н
  • LED1: Красный светодиод на 20мА
  • LED2: Зеленый светодиод на 20мА
  • D2, D3: стабилитроны на 3,6В
  • X1: Разъем USB, тип B
  • SV1: Гнездо под разъем IDC-10
  • Q1: Кварц 12МГц, корпус HC49-S
  • SW1: Dip переключатель трехпозиционный
  • IC1: Atmega8  (ПРИМЕЧАНИЕ: Не следует использовать микроконтроллер Atmega8 — PU из-за его ограничение максимальной тактовой частотой до 8 МГц!)

Перенос рисунка печатной платы USBasp программатора на стеклотекстолит выполнен с помощью метода ЛУТ (лазерно-утюжной технологии). Как это делать описывать не будем, поскольку данной информации в сети много.

Вкратце скажем, что сначала рисунок в масштабе 1:1 печатается на глянцевой бумаге, затем он накладывается на очищенную и обезжиренную медную сторону стеклотекстолита и фиксируется с помощью бумажного скотча. Далее бумажная сторона тщательно разглаживается утюгом на 3-ке. После все это дело вымачивается в воде и аккуратно очищается от бумаги.

Следующий этап – вытравливание платы в растворе хлорного железа. Во время травления желательно поддерживать температуру раствора не ниже 40 C, поэтому банку с раствором погружаем в горячую воду:

После завершения процесса травления необходимо удалить тонер ацетоном.

Остается теперь только просверлить отверстия. После завершения процесса изготовления платы можно приступать к пайке элементов USBasp программатора, начиная с перемычек.

Готовые к печати (в формате PDF) рисунок печатной платы находится в конце статьи. Вы также можете найти несколько вариантов на официальном сайте проекта.

Программа для USBAsp V2.0

Программу разработал «Боднар Сергей», работает не только с китайским программатором USBAsp v.2.0, но и другими программаторами. Первым делом скачиваем программу, разархивируем и запускаем «AVRDUDEPROG.exe». В качестве примера, прошью китайскую плату Arduino UNO R3 в которой установлен микросхема ATmega328P. В программе, жмем на вкладку «Микроконтроллеры» и выбираем ATmega328P.

Далее, необходимо выбрать прошивку, в строке «Flash» нажимаем «. . .», переходим в папку «C:Program FilesArduinohardwarearduinoavrootloadersatmega» и выбираем «ATmegaBOOT_168_atmega328.hex», жмем «Открыть»

Подключаем программатор к плате «Arduino UNO R3», и нажимаем кнопку «Программирование».

В конце, выйдет диалоговое окно, о удачном окончании программировании.

Ссылки Скачать драйвер для программатора USBASP v2.0 (LC Technology, ATMEL) Скачать программу AVRDUDE_PROG v.3.3

Купить на Aliexpress Программатор USBASP v2.0 (LC Technology, ATMEL) Адаптер для ATMEL AVRISP, USBASP, STK500 (10 pin на 6 pin)

Купить в Самаре и области Программатор USBASP v2.0 (LC Technology, ATMEL) Адаптер для ATMEL AVRISP, USBASP, STK500 (10 pin на 6 pin)

Популярное

  • Устройство и программирование микроконтроллеров AVR для начинающих – 143
  • Трехканальный термостат, терморегулятор, таймер на ATmega8 – 70
  • Двухканальный термостат, терморегулятор на ATmega8 – 67

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

Hardware

Partlist

Partnumber Value Reichelt No
C1 4,7u RAD 4,7/35
C2 100n X7R-5 100N
C3, C4 22p KERKO 22P
D1, D2 3V6 zener ZF 3,6
CON1 USB-B USB BW
CON2 10pol WSL 10W
IC1 ATmega8-16 ATMEGA 8-16 (not programmed!)
JP1, JP2 2pol 2,54mm SL 1X36G 2,54
LED1 3mm LED green LED 3MM 2MA GN
LED2 3mm LED red LED 3MM 2MA RT
Q1 12Mhz 12,0000-HC49U-S
R1, R2 68 1/4W 68
R3 2,2k 1/4W 2,2k
R4, R5, R6, R7 270 1/4W 270
R8 10k 1/4W 10k
R9, R10 1k 1/4W 1k
M1, M2 Jumper JUMPER 2,54GL SW
M3 Socket 28S GS 28-S
M4 Case TEKO 10007
M5 PCB

User PCB layouts

   usbasp_single_side.t3001.zip
by Thomas Fischl
Single-Side PCB, TARGET 3001! layout file
Size: 90×40 mm
(optimized for case Hammond 1591ATBU)
   lv_usbasp.tar.gz
by Pawel Szramowski (11/2007)
With Low-voltage front-end.
Single-Side PCB, EAGLE layout files, some SMD components
   by Bernhard Walle
Double-Side PCB, EAGLE layout files, part list with order numbers for Reichelt.de and Conrad.de
Size:
optimized for case Hammond 1591ATBU
   http://thomaspfeifer.net/atmel_usb_programmer.htm
by Thomas Pfeifer
Single-Side PCB, PDF layout files, SMD components
   by Tomasz Ostrowski
Single-Side PCB, PDF and EPS layout files, only four 0805 SMD parts, rest discrete components
   USBasp_CH.zip
by Christian Heigemeyr
Single-Side PCB, with some SMD 0805 components, PDF-files
With additional buttons for reset and disconnection of the target
   USBasp.sch,
USBasp.pcbComponentSide.pdf,
TopSide.pdf,
Schematics.pdf
by Zhurov Pavel
Single-Side PCB, P-CAD 2002 format and PDF files
Crosspiece TXD and RXD are added for the ISP connector
   usbasp_gr.rar
by J.A. de Groot
The board is single sided (EAGLE format), measures 3 by 8 cm and uses only regular components.
  

usbasb_mg.zip
by Matthias Görner

Single-Side PCB, eagle-format, with PS/PDF-files
integrated sockets for target chips ATmega8 and ATmega32

  

Tarball with layout
by Hannes Östlund

Doubleside-Side PCB, SMD components, very small

  

by Sergiy Bogdancev (01/2010)

3.3V version, ATMega48 only. Single-side PCB, ExpressPCB layout format + socket board for varies AVRs.
Without future serial interface, chip initially must be programmed with another programmer.

   Eaglefiles (sch/brd) and CAD case design (dxf)
by Hans Hafner, HTL Mössingerstrasse-Klagenfurt, Österreich, hans.hafner (at) htl-klu (dot) at
(01/2010)
CNC-milled case (DXF file available), Eagle layout, only a few SMD parts
   Different USBasp versions: Easy to built non-smd, smd version and a very small USBasp
by Sven Hedin
(01/2011)
Eagle files available.
   USB Key AVR Programmer
by Fabio Baltieri
(09/2011)
Very small USB key like dimensions. SMD parts.
   AVR ISP Programmer
by Jaroslav Vadel
(04/2012)
Small programmer. SMD parts.
   Target project and PDFs (layout/schematics)
by Marius Schäfer
(09/2013)
  

by Stephan Bärwolf
(04/2014)

   USBasp on breadboard with socket for controller daughter boards.
by Fabian Hummel
(11/2018)
   Tjaart van Aswegen designed an SMD board: DIP TRACE and GERBER files.
by Tjaart van Aswegen
(09/2019)
  

Feature rich (e.g. different voltage levels, integrated USB to serial converter, USB-C connector) USBasp compatible design.
AVR Programmer Github project.
by Brian Pepin
(12/2019)

   USBasp with ZIF socket and through hole components.
by Bruno
(04/2020)
   USBasp board with additional 6pin header and selectable target supply (3.3V/off/5.0V).
by Marty E.
(10/2020)
   John included a 40 pin universal socket which takes 8, 14, 20 and 28 pin devices.
He also added a versatile crystal oscillator with outputs of 1, 2, 4, 8 and 16 Mhz to clock the chips.
There is also the standard 6pin ICSP connector and a user led connected to the MOSI pin.
by John P.
(11/2020)
   QUSBASP features a small size and flexibility (different connection options: USB-A or pin header, ICSP with 6 or 10 or pogo pins).
by Qetesh
(07/2021)