Oggi mi è arrivato il programmatore USBTiny di Adafruit.
Dopo il montaggio ho voluto sperimentare il prodotto per verificare che lo avessi montato bene e che fosse in grado di programmare un Atmega.
Premessa:
SO: Ubuntu 10.10
Arduino: Uno
Programmatore: Adafruit USBTiny
Dopo aver connesso il programmatore al PC tramite un cavetto USB, ho montato l'Atmega "vergine" sulla Uno e poi ho collegato l'USBTiny all'Arduino tramite il cavettino a 6 pin. Risultato: sia da terminale che da IDE di Arduino,
NON sono riuscito a programmare il chip. Il messaggio era:
avrdude: initialization failed, rc=-1
Ho quindi lanciato l'IDE come
root e magicamente sono riuscito ad usare il programmatore caricando correttamente il bootloader dell'Uno sull'Atmega.
Ho cercato con Google e sono giunto a questa pagina:
http://www.ladyada.net/make/usbtinyisp/avrdude.htmldove si spiega come dare i permessi permanenti ai normali utenti per poter accedere all'USBTiny.
1) premete ALT+F2 e digitate "gksudo gedit" per Gnome o "kdesudo kedit" se usate KDE. Inserite la password di root o la vostra password personale (a seconda delle distro)
2) copiate nell'editor il seguente comando:
SUBSYSTEM=="usb", SYSFS{idVendor}=="1781", SYSFS{idProduct}=="0c9f", GROUP="users", MODE="0666"
3) salvate il file come "usbtiny-perms.rules" nella cartella "/etc/udev/rules.d"
4) riavviate
A questo punto avete i permessi per poter programmare con l'USBTiny.
PROGRAMMAZIONE
Connessioni:
0) disconnettete ogni cosa dalle alimentazioni!
1) prendete l'Arduino Uno e togliete il chip di serie;
2) montate l'Atmega "vergine"
3) collegate il cavetto a 6 pin dell'USBtiny al connettore ICSP sull'Arduino tenendo bene a mente che il connettorino di aggancio deve avere il dentino rivolto verso l'interno della scheda Arduino e la fettuccia deve avere il cavettino rosso dalla parte del led "on" dell'Arduino. In pratica, deve essere montato "alla rovescia", col cavetto che fa una curva prima di tornare indietro.
4) collegate un cavetto USB all'USBtiny e lasciate il ponticello dell'USBTiny (quello accanto ai 2 cavetti di connessione) inserito. NON alimentate l'Arduino con un proprio cavetto USB o tramite alimentatore: ci pensa il programmatore.
5) Avviate l'IDE di Arduino
6) scegliete da "Tools/Burn bootloader" la voce "w/ USBTinyISP".
7) Aspettate (circa 1 minuto)

quando la luce rossa dell'USBTiny si spegne e l'IDE segnala l'avvenuta programmazione, potete disconnettere tutto e collegare il cavetto USB all'Arduino.
9) Per prova caricate lo sketch di esempio "Basic/Blink" per verificare che l'Atmega accetti gli sketch tramite Arduino.
In sintesi:
se usate Linux e state smadonnando con l'USBtiny (o qualche altro programmatore), forse potrebbero essere solo problemi di permessi. Provate come
root.
EDIT:post riveduto con la soluzione permanente pubblicata su Adafruit
Spero che serva a qualcun altro
