# KiCad

KiCad è una suite open source di software Electronic Design Automation (EDA) per il disegno di schemi elettrici e circuiti stampati (PCB). Ha un ambiente di sviluppo integrato (IDE) con editor di schematici, generazione della distinta base, sbroglio circuitale del PCB e visualizzatore di file Gerber.

## Storia

KiCad è stato creato nel 1992 da Jean-Pierre Charras durante il suo lavoro all'IUT di Grenoble. Da allora KiCad è cresciuto considerevolmente sia in numero di volontari che collaboratori pagati. Dal 2013 la sezione BE-CO-HT del CERN ha cominciato a contribuire fornendo risorse al progetto KiCad per favorire lo sviluppo open hardware, aiutando il miglioramento di KiCad con l'obiettivo di renderlo alla pari con strumenti EDA commerciali.
KiCad, nel Dicembre 2015, a cominciare dalla versione di KiCad 4.0.0, ha adottato uno schema di versioni a punti. Questa è stata la prima versione ad adottare gli avanzati strumenti creati dagli sviluppatori del CERN. Il CERN spera di continuare ulteriormente a contribuire allo sviluppo di KiCad assumendo uno sviluppatore tramite donazioni. I contributi possono essere effettuati tramite i collegamenti presenti sul sito di KiCad.
KiCad è entrato a far parte della Linux Foundation nel novembre del 2019.
Inoltre, due sviluppatori principali hanno formato una società di servizi nel 2019 per aiutare a fornire ulteriore supporto di sviluppo a pagamento per KiCad.

## Componenti

KiCad è organizzato in cinque parti principali:
* kicad - il project manager.
* eeschema - l'editor di schematici.
* cvpcb - associazione impronte o footprint ai simboli elettrici (ora incorporato in eeschema).
* pcbnew - il programma per lo sbroglio PCB con visualizzatore 3D.
* gerbview - il visualizzatore Gerber (layout del fotoplotter).

## Caratteristiche

Rispetto ad altre alternative open source KiCad permette la gestione di tutte le fasi di lavoro con la stessa interfaccia: disegno circuitale, sbroglio PCB, generazione Gerber, visualizzazione ed editing delle librerie. KiCad è un applicativo cross-platform, multipiattaforma scritto con wxWidgets per essere eseguito su FreeBSD, Linux, Microsoft Windows e macOS.
Sono disponibili librerie con componenti tipicamente usati di vari costruttori e, tramite l'editor di librerie integrato, è possibile crearne di propri. Sono inoltre disponibili strumenti di conversione per librerie provenienti da altri software EDA, come ad esempio Eagle. I file sono in formato testo e ben documentati, che ne facilita la manutenzione tramite Git e per creare script di generazione automatica di componenti.

### Localizzazione

Le lingue attualmente disponibili includono inglese, francese, finlandese, spagnolo, portoghese, italiano, tedesco, greco, sloveno, ungherese, polacco, ceco, russo, coreano, cinese, catalano, olandese e giapponese.

### Modifica schema elettrico

L'editor di schemi elettrici di KiCad ha funzionalità che includono fogli schematici gerarchici, creazione di simboli personalizzati, ERC (controllo delle regole elettriche) e integrazione col simulatore di circuiti ngspice (successore di Berkeley SPICE). I simboli schematici sono accoppiati in modo flessibile ai footprint dei circuiti stampati per incoraggiare il riutilizzo di impronte e simboli (ad esempio, un singolo footprint SMD 0805 può essere utilizzato per condensatori, resistori, induttori, ecc.).

### Modifica PCB

Internamente l'editor PCB di KiCad supporta fino a 32 livelli di rame e 32 livelli tecnici. Le dimensioni dei sono memorizzate con precisione nanometrica in numeri interi a 32 bit con segno che rendono la dimensione massima teorica del PCB di $2^{31}$ nm, o circa 2,14 metri.
Una funzione di visualizzazione PCB 3D si basa sui modelli STEP e VRML e il modello della scheda può essere esportato per l'integrazione con altri CAD. La visualizzazione è realizzata tramite Wings3D, un software di modellazione tridimensionale libero e open-source.
Kicad include alcuni strumenti di base per effettuare la sbrogliatura automatica; in alternativa, è possibile sfruttare software di terze parti come FreeRouting, un'applicazione Java gratuita: in questo caso, sarà necessario esportare lo schematico in formato Specctra DSN e caricarlo in Freerouting. Una volta completata l'elaborazione, il risultato andrà salvato e ricaricato direttamente in pcbnew.