Recentemente sul mercato sono apparsi nuovi strumenti che consentono di realizzare il layout di una scheda elettronica in maniera sempre più agevole. Quello che fino a pochi anni fa si poteva fare solamente grazie a tool estremamente complessi e costosi, ora è diventato alla portata anche dei neofiti. Una volta realizzato il layout, si possono ordinare i PCB in rete dai numerosi fornitori che, con un costo contenuto, possono fare la gioia di tanti appassionati di elettronica. In questo articolo si vuole fare una breve panoramica su questi tool gratuiti, differenziando tra quelli open source, quelli solamente web e quelli tradizionali. Per ciascuno si cercherà di evidenziare pregi e difetti e soprattutto delineare le limitazioni che li accompagnano. In questo modo in base alle esigenze sarà possibile scegliere il migliore tool gratuito a disposizione.
Introduzione
E' innegabile che negli ultimi anni il mondo dei CAD per PCB sia stato rivoluzionato. Laddove esistevano pochi e costosi strumenti, ora proliferano nuovi programmi che promettono performance e funzionalità quantomeno simili ai programmi che per anni hanno dominato questo mercato. Un tempo, per realizzare la propria scheda elettronica, bisognava affidarsi agli specialisti dello "sbroglio" ovvero figure che utilizzando programmi professionali ed estremamente costosi, trasformavano lo schematico in un layout pronto per essere poi ordinato ad un fornitore di circuiti stampati e infine assemblato. Questo processo, inevitabilmente costoso, era possibile per chi realizzava schede commerciali, da integrare in prodotti o da vendere direttamente in volumi elevati. Rimanevano esclusi una larga fetta di hobbisti che per le proprie schede erano quindi costretti al fai da te, con risultati non esattamente confrontabili con i prodotti commerciali. L'avvento dei componenti SMD ha definitivamente decretato che la realizzazione di layout a complessità medio alta diventava una prerogativa di quei pochi che possedevano e sapevano utilizzare questi programmi commerciali.
Nell'ultimo periodo, in tanti hanno sentito l'esigenza di permettere anche a hobbisti, smanettoni e amanti di elettronica in generale di realizzare le proprie schede elettroniche. Per questo motivo sono nati una serie di programmi gratuiti che permettono di realizzare da sé il layout di schede elettroniche e sono nati dei servizi on-line di realizzazione di circuiti stampati anche in bassi volumi. Qualcuno ha intuito che così si sarebbe colmato un buco e create nuove opportunità di business, e così è stato effettivamente.
Ora a disposizione di chi vuole realizzare da sè il layout di una scheda, esistono numerosi programmi gratuiti. Per realizzare una prima classificazione tra tutti i programmi disponibili, li divideremo in Open Source, On-line e Tradizionali. Molti penseranno che comunque il fatto di avere a disposizione uno strumento gratuito non basti per saper fare un layout. Questo è vero, ma sicuramente è anche un primo importante step. Molti di questi programmi includono delle funzioni, che anche chi è del mestiere utilizza, per realizzare uno sbroglio preliminare della scheda. Molti di questi programmi includono una utilissima funzione di "autoroute" che, in autonomia e definiti i parametri iniziali della scheda (numero di layer, dimensioni dei fori, passo di componenti, etc.) è in grado di tracciare le piste di collegamento tra i vari componenti elettronici. Questa funzione è di estremo aiuto poiché solitamente l'80% delle piste di una scheda elettronica non sono critiche, e la loro tracciatura in automatico, anche se magari non ottimizzata al 100%, è comunque un vantaggio. Solitamente si parte dando un piazzamento di massima ai componenti presenti sulla scheda cercando di mettere vicini quelli che hanno più net di collegamento tra loro, come ad esempio i microcontrollori e le memorie, i connettori e i filtri d'ingresso, i regolatori e la relativa circuiteria di switching. Il passo successivo è quello di tracciare le net più critiche che solitamente impattano anche sull'orientamento dei componenti elettronici. Si parte dalle piste di clock e da quelle dei segnali più veloci. Attenzione anche ai segnali differenziali, come per esempio le linee USB che devono viaggiare sempre parallele e devono essere della stessa lunghezza. Attenzione alle linee di segnale che commutano velocemente, come ad esempio le linee dati provenienti da sensori d'immagine o ai segnali seriali ad alta velocità. Infine, fatto ciò, si può lasciare che l'autoroute completi le restanti net. Ovviamente il processo non è sempre così semplice e spesso si deve procedere per iterazioni successive cercando sempre di ottenere il massimo dell'ottimizzazione.
Per chi vuole saperne di più consigliamo di leggere un nostro precedente articolo dedicato all'arte dello sbroglio.
Come detto questi programmi risentono di limitazioni che spesso sono espresse in numero massimo di layer in grado di essere gestiti, in numero massimo di pin presenti nello schema o nel numero massimo di componenti presenti nello schema. Di seguito per ogni programma citato si confronterà anche l'aspetto delle limitazioni.
PCB CAD open source
Il mondo dei programmi open source è in continuo fermento, chi conosce il mondo Linux lo sa bene, per definizione questi programmi non sono protetti da copyright e di conseguenza sono liberamente modificabili dagli utenti. Questo significa che alle spalle non c'è un'azienda che pensa di guadagnare dalla vendita di questi prodotti ma ci sono degli sviluppatori che hanno lavorato insieme per realizzare un prodotto che chiunque può utilizzare e modificare, aggiungendo funzionalità e personalizzazioni. Il principio dell'open source prevede che queste modifiche vengano rese disponibili ad una community di utilizzatori del programma che può, a sua volta, implementarle. Ovviamente queste tipologie di SW hanno successo quanto più è vasta la community di persone che li utilizza e contribuisce al loro miglioramento. Proprio per la natura open source di questi progetti, solitamente vengono sviluppati per piattaforme a loro volta open source. Sarà quindi difficile trovare SW open source in ambiente Windows, mentre sarà molto più semplice trovare SW open source in ambiente Linux.
I due programmi open source che verranno proposti sono entrambi in grado di lavorare in ambiente Linux ma uno solo in ambiente Windows. I programmi sono KiCad e gEDA, in tabella 1 vengono messi a confronto.
Nome | KiCad | gEDA |
OS Supportati | Windows, OSX, Linux | OSX, Linux |
Limitazioni | No | 8 Layer |
Upgrade a pagamento | No | No |
Autoroute | Auto-assist, diff-pairs, trace length | No |
Realizzazione schematici | Sì, anche gerarchici | Si |
Vista 3D | Si | No |
Note | Possibilità di usare script in python |
Tabella 1: PCB CAD Open Source
Se mettiamo a confronto i due programmi vediamo che KiCad offre un maggiore set di funzionalità rispetto a gEDA, tuttavia non è molto diffuso anche se si parla di un coinvolgimento anche del CERN. Per quanto riguarda gEDA spesso sembra che chi lo utilizzi lo faccia più per filosofia che non per effettiva praticità, infatti senza la funzionalità di autoroute tutte le net devono essere tracciate a mano. In ogni caso essendo più "anziano", gEDA vanta un ecosistema molto ampio. Il programma gEDA è una collezione di diversi tool che sono strettamente correlati e sono in grado di lavorare con il progetto SW gEDA. La suite include:
Tool per schematico e netlisting | Tool per la simulazione digitale e analogica | Tool per il layout e la produzione |
gEDA/gaf | spice – netlister for SPICE simulation | pcb – PCB layout |
ngspice – SPICE simulation | gerbv – Gerber viewer | |
gnucap – modern “post-spice” (and SPICE) analog and mixed signal circuit simulator | wcalc – Transmission line and electromagnetic structure analysis | |
Icarus Verilog – Verilog simulator | mcalc – Microstrip Analysis/Synthesis Calculator | |
covered – Verilog Code Coverage Analyzer | ||
gspiceui – GUI front end for ngspice/gnucap |
In figura 1 viene mostrato uno screenshot del programma gEDA. Per chi volesse ulteriori informazioni, il link alla home page del progetto è http://geda-project.org. In figura 2 è invece possibile vedere una delle funzioni più interessanti disponibili in KiCad, ossia il rendering 3d della scheda.
PCB CAD on-line
Il mondo dei CAD on-line è sempre in fermento e in continua evoluzione. Esistono una serie di programmi veramente ben fatti, estremamente veloci e ricchi di funzionalità, basati sulle tecnologie web. Molti di questi programmi sono proprio di quelle società che permettono di piazzare un ordine di PCB ma che, tuttavia, non permettono di avere a disposizione i file "gerber" necessari per poter far realizzare il circuito stampato da chiunque tu voglia.
Citiamo innanzitutto alcune buone ragioni per prendere in considerazione l'utilizzo dei CAD on line: il supporto cross-Platform, la possibilità per più sviluppatori di poter lavorare sullo stesso progetto e la possibilità di essere sempre aggiornato. Ovviamente ci sono anche degli svantaggi, il principale risiede nel dover avere a disposizione una buona connessione internet per lavorare sul progetto. I due tool in versione free che mi sento di segnalare basano la loro filosofia sul fatto che il PCB così realizzato rimanga di pubblico dominio, visibile agli altri utenti e che solo un numero limitato di progetti possa rimanere privato. A questa categoria appartengono EasyEDA e Upverter, di seguito una tabella comparativa:
Nome | EasyEDA | Upverter |
OS Supportati | Web-based | Web-based |
Limitazioni | Numero di progetti privati limitato | Numero di progetti privati limitato |
Upgrade a pagamento | Si | Si |
Autoroute | No | No |
Realizzazione schematici | Si | Sì, anche gerarchici |
Vista 3D | No | No |
Note | Supporta la simulazione Spice | Schematizzazione a blocchi |
Tabella 2: PCB CAD Open Source
Upverter è un tool molto bello, vincitore anche di alcuni premi, che ha anche una interessantissima funzione di schematizzazione a blocchi. Sul sito web https://upverter.com/ è disponibile un tutorial molto dettagliato. In figura 3 e 4 è possibile vedere rispettivamente lo schematico e il PCB per lo stesso progetto. Bisogna sottolineare che alcune operazioni, come gli spostamenti della scheda per avere visualizzazioni differenti, impiegano tempi di refresh notevoli dovendo aggiornare tutte le tracce, quindi è bene dotarsi di una connessione molto veloce.
EasyEDa è un tool estremamente semplice, realizzare lo schematico risulta agevole facendo drag and drop dal menu dei componenti sulla sinistra, vedi figura 5. E' possibile creare i propri simboli in maniera molto agevole grazie allo strumento "symbol wizard". Una delle funzionalità più accattivanti di EasyEDA è quella di avere una libreria di simboli 3D con la quale è possibile realizzare lo schematico (non il PCB). In figura 6 è mostrato uno schema realizzato in questo modo. In figura 7 viene invece mostrata la realizzazione del PCB, da segnalare la funzione di riempimento veloce, bella da vedere e realizzabile in maniera estremamente semplice. Il programma è veramente facile da usare [...]
ATTENZIONE: quello che hai appena letto è solo un estratto, l'Articolo Tecnico completo è composto da ben 2699 parole ed è riservato agli ABBONATI. Con l'Abbonamento avrai anche accesso a tutti gli altri Articoli Tecnici che potrai leggere in formato PDF per un anno. ABBONATI ORA, è semplice e sicuro.
Ciao Luca, complimenti per l’articolo. Attenzione perchè EasyEDA ha sia la funzionalità di autoroute (in cloud o locale), sia la vista 3D del PCB e dei componenti. Ha, inoltre, la possibilità di scegliere i componenti direttamente dal sito partner LCSC, in modo da unire il mondo della progettazione con quello degli acquisti, realizzando la BOM in automatico.
Ciao a tutti.
io personalmente utilizzo da qualche anno KiCad e devo dire che mi trovo molto bene.
Oltre alla facilita’ nell’utilizzo c’e’ la possibilita’ di inserire facilmente la propria libreria componenti ( Sia per lo schema elettrico che per i Footprint ) ed importare librerie open source.
Ho gia’ fatto sviluppare diverse schede da un’azienda di montaggi componenti senza che rilevassero alcuna difficolta’ con i Gerber creati. In questo programma c’e’ anche , per comodita’ nel dimensionamento delle piste , un’unita’ di calcolo ed un Gerber Wiewer che ti permette di visualizzare tutti gli strati creati , serigrafie ecc.
L’unica difficolta’ per ora l’ho incontrata cercando di far sviluppare un PCB da una di quelle ditte cinesi online , JLCPCB , in cui non vengono riconosciuti alcuni file e sto cercando di capire il motivo.
A livello di aziende in Italia non ho avuto nessun problema con le 2 a cui mi sono rivolto
fino ad ora.
Ciao Maurizio
Ho letto del tuo problema del mancato riconoscimento dei tuo PCB da parte del sito JLCPCB,
Se l’errore non ti è stato segnalato, potrebbe mancare qualche file, oppure qualche regola sulla creazione del PCB è al di fuori delle capacità realizzative da parte delle macchine in loro possesso,
Ti consiglio la lettura di queste due pagine, la prima con le istruzioni per convertire il proprio PCB da KiCad al file Gerber, il secondo è relativo ai valori limite per i PCB
https://jlcpcb.com/capabilities/Kicad%20PCB%20to%20gerber%20files
https://jlcpcb.com/capabilities/Capabilities
Verifica l’estensione dei nomi dei singoli file Gerber.
Usa le estensioni create per la versione in inglese.
Se hai impostato la lingua italiana i file generato non vengono riconosciuti
Anche da parte mia i complimenti per l’articolo. Personalmente ho utilizzato all’inizio Eagle, con cui realizzavo anche modelli 3D della scheda, creando anche interpersonale i modelli 3D dei componenti mancanti.
Attualmente utilizzo EasyEDA, confermando quanto anticipato da Davide, su alcune funzioni non citate nel testo.
Del programma on-line, ho apprezzato la possibilità di condividere con altri il proprio progetto, la possibilità di poterci lavorare per esempio nelle pause del lavoro, essendo il progetto sempre disponibile.
Altra possibilità è quella di passare direttamente il progetto alla ditta, in questo caso la JLCPCB per la sua realizzazione con un controllo interno della rispondenza dei parametri di costruzione.
Salve a tutti. Io sono orientato a sw commerciali. 20 anni fà non esistevano gli open source di oggi. Partito con Protel ho apprezzato la crescita di prodotto sempre in prima fila sulle novità x essere efficiente nella produzione. Oggi diventato Altium Designer si hanno fin oltre ciò che serve per realizzare un pcb e prodotto. La curva di apprendimento che i sw richiedono creano difficoltà nel passare agli open source free pur dando pari servizi direi essenziali. Per lavorare in modo efficace il supporto è fondamentale di fronte ai problemi…. ciò gioca a favore dei tool commerciali. Non amo gli autoroute perchè orami tutti i prodotti richiedono attenzione ed esperienza per un prodotto che debba ben funzionare ed essere certificato. Capita di vedere prototti da altri realizzati che peccano di accorgimenti base. Quindi per coloro che si voglio approcciare andate cauti e studiate la teoria prima di addentravi in pcb layout di grosse complessità. Esistono tanti tutorial.
Complimenti per l’articolo che ho apprezzato per poter conoscere tools a me ignoti.
Buon routing a tutti.
Grazie per i complimenti e comunque sono d’accordo con te, per schede professionali ci vuole un layout attento e accurato, tuttavia spesso per alcune schede semplici i tool di autoroute possono aiutare!
Ritengo l’articolo ben fatto per chi, curioso come me, desidera poter approcciare lo sbroglio di un progetto semplice. Io non ho mai utilizzato software per progettazione di PCB; le aziende con cui ho collaborato hanno sempre avuto una persona specializzata detta ‘masterista’ che si occupa per l’appunto di creare la serie di file utili per la produzione dle PCB. D’altro canto collaboro con un’azienda che da due genrazioni si occupa di produzione di PCB fino a 20 layer e con caratteristiche veramente spinte e questa collaborazione mi ha dato moltissime informazioni su come si realizza un PCB rigido, flessibile, rigido flessibile, ecc., le accortezze, le capabilities e cosa non si può assolutamente fare…
Dopo aver letto questo articolo, devo trovare il tempo necessario per poter provare a fare qualcosa anch’io! 😉
Essendomi occupato per +20 anni di sbroglio di circuiti stampati, è sempre un piacere leggere post riepilogativi come questo.
Utile aggiornamento sui tool. Tema che ho trattato tempo fa, trovate i miei articoli nella categoria PCB: https://it.emcelettronica.com/category/pcb
Mi sto in questi giorni avvicinando al problema dello sbroglio di un progetto; per la verità non sapevo da dove cominciare. L’articolo mi è stato molto utile. Sono propensa a provare uno degli strumenti open source, presenti nell’articolo, anche perché sono alle prime armi
Molto interessante, ho già provato a scaricare e provare KiCad, è molto semplice e intuitivo, è anche utile per riportare sul pc molti schemi che ho fatto a mano o di progetti di altre riviste di elettronica.
molto interessante!
ricordo ancora le ore passate in laboratorio TDP (e poi anche a casa) a cercare di migliorare lo sbroglio dei semplici (ora semplici, ma oltre 20 anni fa…) stampati che il prof ci dava da fare….con Orcad….si digitavano i comandi da tastiera….e con i “cari”vecchi intel 386…solo pochi fortunati avevano a disposizione un + potente 486 con qualche Mb di ram in +….
sicuramente non mancherò di provare qualche nuovo tool davoi suggerito qui! grazie!!!
Grazie a tutti per i complimenti sull’articolo. Troppo buoni! 🙂
Ciao Luca,
grazie per aver pubblicato questo articolo, una paronamica sui Tools attualmente in circolazione per realizzare PCB ci permette di essere aggiornati.
Personalmente utilizzo EAGLE e, dopo averci perso molto tempo, mi ci trovo molto bene ma di certo non perderò occasione di testare alcuni dei sw che hai consigliato.
Grazie di nuovo.
Saluti