TinyUsbBoard              

Bascom- und Arduino-kompatibel ohne FTDI-Chip ? JA!                         

von Heinz D.      
Elektronik-Labor  Projekte  AVR 



Stephan Bärwolf hat auf seiner Seite matrixstorm.com/avr/tinyusbboard/ einen UsbAsp-kompatiblen Bootlader ge-/be-schrieben. Mit nur 3 Widerständen, 2 Z-Dioden, einem Prog-Taster und einem 16MHz-Quarz kann jeder Mega8 (mit Bootlader rev3_default_ger_lfx3f_hfxc0_v0x97.hex) in Bascom/Arduino programmiert werden (Ref3, V0.97).



(Hinweis zu den Z-Dioden, die eigentlich falsch herum eingezeichnet sind. Ich hatte keine Z-Dioden und habe erfolgreich an der Stelle blaue/weiße LEDs genommen, die werden natürlich in Flussrichtung betrieben. )


Falls Sie noch keinen UsbAsp-Treiber haben, 'libusb-win32-bin-1.2.6.0' installieren (lassen).  Im Bascom-Demo 2.0.7.5 den Programmer 'USBASP' wählen.



*.bas-File schreiben/laden, kompilieren, Prog-Taste 10s festhalten und Reset tippen, dann flashen.



SPEICHER NICHT LÖSCHEN! das macht der Bootlader ggf. selbst -> längere Lebensdauer des Flash! Ggf. Led an B.5 (= Led13 in Arduino) anschliessen. Nach Reset startet das Programm. (Windows Fehlermeldung ignorieren)

Download: usbasploaderTest.zip

Für Arduino-Freunde (1.xx): 'tinyusbboard_arduino.zip' ins Arduino-Verzeichnis auspacken. Dann sind ganz unten drei neue Boards wählbar.




*.ino-File laden/schreiben, vor dem upload Prog-Taste 10s festhalten und Reset tippen, uploaden.  Nach Reset startet das Programm. (Windows Fehlermeldung ignorieren)

Wer nicht (ISP) flashen kann, für den bietet Stephan Bärwolf über ebay für ~4€ einen Komplettbausatz incl. programmiertem M8 an.
Fazit: Noch einfacher (und billiger) geht's wohl kaum. Ich habe gefunden, wonach ich für die LeoBot's suchte.
P.S. Einen ähnlichen Weg gehen 'Metaboard' 'fischl' 'VUSB' 'CDC' usw..

' USBaspLoader von Stephan Bärwolf, (matrixstorm.com)
'
' 'Prog-Taste' 10s halten + Reset -> USBASP-Mode, flashen, Reset, fertig !
'
' Res 1-M8-28 -C5- A5
' D0 -Rx- 2 27 -C4- A4
' D1 -Tx- 3 26 -C3- A3
' * USB 4 25 -C2- A2
' D3 -D3- 5 24 -C1- A1
' D4 -D4- 6 23 -C0- A0
' USB +5V 7 22 AGnd USB
' USB Gnd 8 21 Aref
' * 16- 9 20 A+5V USB
' * MHz 10 19 -B5- D13
' D5 -D5- 11 18 -B4- D12
' * Prog 12 17 -B3- D11
' * USB 13 16 -B2- D10
' D8 -B0- 14 15 -B1- D9
'-----------------------------------------------------------
' * Bauteile des USB-Anschluss (alles für ~4Euro incl programmiertem M8):
' USB-D+ -> 3Z6 -> Gnd
' USB-D+ -> 68R -> D2 ohne USB nutzbar
' USB-D- -> 3Z6 -> Gnd
' USB-D- -> 1k5 -> +5V
' USB-D- -> 68R -> D7 ohne USB nutzbar
' Prog -> D6 -> Gnd
' B6-B7 -> 16-Mhz-Quarz
'-----------------------------------------------------------
$regfile = "m8adef.dat" 'mega8A !!!
'$regfile = "m8def.dat" 'mega8
$crystal = 16000000
$hwstack = 40
$swstack = 16
$framesize = 32

Ddrb = &B00100000 'Led D13
Ddrc = &B00000000
Ddrd = &B00000000

Do
Portb.5 = 1 'D13
Waitms 333
Portb.5 = 0
Waitms 333
Loop
'end


Elektronik-Labor  Projekte  AVR