USBASP USB AVR Programmer

Da mein neues T400s keinen Parallel-Port mehr besitzt (auch nicht über die Docking-Station), musste ich mich nach einem neuen AVR-Programmer umsehen.

Entschieden habe ich mich für einen USBASP von Thomas Fischl.

Die Schaltung basiert auf einem Atmega8 und ein paar weiteren passiven Komponenten.

Der Vorteil dieser Schaltung:
Für die USB-Anbindung wird kein spezieller USB-Controller benötigt, dies wird alles über die Firmware auf dem Atmega8 geregelt.

Aufgebaut habe ich die Schaltung auf einer Lochraster-Platine. Klar hätte ich mir auch einen fertigen Bausatz bestellen können, aber wo bleibt da der Bastelspaß wenn nur noch die Widerstände eingelötet werden müssen? ;)

Außerdem wollte ich noch die Belegung des ISP-Steckers anpassen, damit diese mit meinem LPT zu ISP Programmieradapter kompatibel ist und auch für bestehende Schaltungen ohne zusätzlichen Adapter genutzt werden kann.

USBASP AVR Programmer

USBASP AVR Programmer

Nachdem der USBASP fertig aufgebaut war, spielte ich die Firmware über meinen LPT-Programmieradapter (an meinem Entwicklungsrechner, welcher dank dem USBASP jedoch bald überflüssig sein wird) ein und setzte die Fuses für den externen 12 Mhz Quarz.

Daraufhin wurde er dann am T400s unter Ubuntu 9.04 64Bit auf Anhieb erkannt!

lsusb
Bus 006 Device 006: ID 16c0:05dc VOTI

Um den USBASP mit Linux benutzen zu können, werden noch folgenden Pakete benötigt:

  • gcc-avr
  • avrdude
  • binutils-avr
  • avr-libc

Der Programmer kann dann direkt mit Avrdude verwendet werden:

avrdude -c usbasp