Making of… FabIsp Pen

chip150

Da un po’ di tempo mi sono preso l’impegno di sviluppare una mia versione del FabISP, la pennetta per programmare i chip ATMEL.
Mi sono preso un po’ di tempo e partendo dallo schema elettronico del MIT ho disegnato gli stampati per la chiavetta.
Nulla di innovativo, solo ho cercato di realizzare un circuito doppia faccia in modo casalingo.
Per il disegno del circuito stampato (PCB) ho utilizzato il software opensource geda. Lo uso da tempo e mi trovo molto bene.
Realizzare PCB a doppia faccia non è semplice, ma con il metodo che ho impiegato io risulta semplicissimo.
Il metodo consiste nello stampare2 schede, una per la faccia superiore ed una per la faccia inferiore del PCB finale.

Screenshot at 2013-01-10 17:05:07

La faccia superiore di solito si esporta ‘mirrored’ mentre la faccia inferiore non deve essere rigirata.

Screenshot at 2013-01-10 17:05:42

La scheda superiore

Screenshot at 2013-01-10 17:05:51

La scheda inferiore

Una volta foto-incise e corrose, si passa alla foratura con punta da 0,7mm e da 1,5 per i fori di fissaggio della presa USB. Come mini trapano io uso un dremel-clone acquistato in un discount.
I fori delle due schede risultano allineati senza difficoltà. Una volta accoppiate le due piastre, inserisco degli spezzoni di filo da una parte all’altra e li saldo. Poi accorcio le estremità in eccesso.

DSCN5260
La tecnica potrebbe sembrare rozza ma funziona e permette di realizzare PCB anche complessi.

DSCN5261
Non è possibile realizzare con questa tecnica delle ‘VIE’ e quindi bisogna arrangiarsi così. Non è neppure possibile, nel caso si utilizzino componenti a foro passante, fare saldature su entrambi i lati della piazzola del componente. In questi casi per mettere in contatto due piazzole sulle 2 facce si deve creare una VIA adiacente e connessa con le due piazzole. Un po’ laborioso ma sopportabile.

DSCN5262

Saldati i componenti carico il firmware con la usbasp. Credo si possa fare anche utilizzando una schedina arduino programmata con lo sketch “arduino as ISP” (attenzione che dalla versione 1.0 di arduino, lo sketch arduinoasisp è bacato!).

DSCN5264

La UsbAsp e la FABisp

Installazione

Per verificare il funzionamento, su linux, si deve aprire un terminale e dare il comando dmseg.
Istantanea - 13012013 - 18:59:02

Nelle ultime 4 righe si può vedere se la chiavetta è stata rilevata correttamente (comapre la scritta FABIsp). Perché sia riconosciuta dal programma avrdude, si deve creare un file in /etc/udev. Aprire un terminale e digitare:

Quindi copiare la seguente riga:

Salvare il file e chiudere gedit. Riavviare il servizio udev:

Su linux Ubuntu o Debian-based: installare con synaptic i pacchetti avr-gcc, avr-libc ed avrdude. Verificare che ci sia anche Java (OpenJDK Java 6 Runtime).

L’hello world per testare la chiavetta

Per provare la chiavetta basta anche un listato vuoto da copiare in un file di nome main.c

compilareil file:

trasformare il file main.o in .hex per renderlo “compatibile” con il chip atmel:

caricare il file .hex sul chip con avrdude:

I driver per win e mac si trovano sulla pagina del MIT: http://fab.cba.mit.edu/content/projects/fabisp/

E’ possibile usare la FABIsp anche con arduino. Ho trovato dei link interessanti:

Download

DOWNLOAD di: PCB, schemi, esempio e firmware

Leave a Reply

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *


*