Digispar - Digispark selbstgebaut
Selbstgebaute Hardware
Die kleinen ATtiny85-Boards von Olimex, Adafruit und Digispark kosten
5-9 Euro und damit nicht mal ein Drittel eines Arduino Leonardo; noch
etwas preiswerter und flexibler wird es, wenn man das Projekt auf
Lochraster-Platine aufbaut und einen unprogrammierten ATtiny 85
verwendet (er kostet kaum mehr als ein Attiny 13; bei Reichelt ist er
zur Zeit sogar etwas billiger).
Hier die Grundschaltung (für 5V / 16,5 MHz Takt) und das Layout auf Streifenraster-Platine:
Bootloader-Firmware:
Hier steht man vor dem Henne-Ei-Problem: um den Attiny 85
programmieren zu können, benötigt dieser einen Bootloader, und den kann
man nur mit einem externen Programmer und einer Programmiersoftware
aufspielen (außerdem müssen noch ein paar Fusebytes geändert werden).
Der Bootloader-Code (micronucleus) wurde auf
GitHub veröffentlicht.
Im Ordner "firmware/releases" findet sich das passende HEX-File "micronucleus-1.11.hex".
Man kann es mit einem externen Programm (z.B. BASCOM, AVRStudio
oder avrdude) und einem externen Programmer (z.B. AVRISPMKII, USBasp
oder usbtiny) auf den fabrikfrischen ATtiny laden und anschliessend die
FuseBytes ändern. Die Werte lauten: efuse: FE, hfuse: D5,
lfuse:F1
Hier ein Batchfile für avrdude.exe und den Programmer USBasp:
rem Firmware uebertragen
avrdude -c usbasp -B 10 -p t85 -U flash:w:micronucleus-1.11.hex
rem Fuses setzen (PLL-Takt, Reset bleibt erhalten)
avrdude -c usbasp -B 10 -p t85 -U lfuse:w:0xe1:m -U hfuse:w:0xdd:m -U efuse:w:0xfe:m
Ist der Attiny 85 nicht fest eingelötet, sondern gesockelt,
kann man übrigens auch ganz auf den Bootloader verzichten, man muss den
Mikrocontroller dann jedoch immer zwischen externem ISP-Programmer
(z.B. einem USBasp mit Programmiersockel) und der Ziel-Hardware
umstecken. In der Arduino-IDE ist statt "Micronucleus" der verwendete
ISP-Programmer anzuclicken. Bei einem fertig entwickelten Programm kann
das Überschreiben des Bootloaders sinnvoll sein, weil dadurch die 5 sec
Wartezeit des Bootloaders wegfallen.
Damit das Timing der Sketches nicht durcheinanderkommt, sollte man den Attiny aber in jedem Falle auf PLL-Betrieb umfusen.