KiCad

KiCad est un logiciel libre et multi-plateforme pour la conception et l'impression de circuits électroniques (http://kicad-pcb.org).

Téléchargement

Télécharger le logiciel en ligne pour avoir la version la plus récente : http://kicad-pcb.org/download/

Documentation

Plusieurs logiciels

D’apparence monolithique, KiCad est en réalité composé de plusieurs logiciels spécifiques qui coopèrent :

Nom du programme Description Extensions
KiCad Gestionnaire de projets *.pro
Eeschema Éditeur de schémas *.sch, *.lib, *.net
CvPcb Gestionnaire des associations entre les composants utilisés dans le schéma et leurs empreintes physiques *.net
Pcbnew Éditeur de circuits imprimés *.kicad_pcb
GerbView Visualiseur de fichier Gerber fichiers Gerber
Bitmap2Component Convertisseur d'images bitmap en composants ou empreintes *.lib, *.kicad_mod, *.kicad_wks
PCB Calculator Calculateur pour les composants, largeurs de pistes, …
Pl Editor Éditeur de page *.kicad_wks

Le format de fichier Gerber est le standard de-facto utilisé pour transmettre des informations concernant la fabrication des circuits imprimés. Il contient la description des diverses couches de connexions électriques (les pistes, les pastilles, les plages CMS, les vias …), positionnement pour le perçage, l'impression des pistes de cuivre, etc.

Conseils

  • Connaître bien les limites d'impressions et de soudure pour votre carte et sa complexité (types d'impressions, composants traversants ou de surfaces, nombre de couches…). Cela orientera les choix de composants et d'empreintes
  • Créer un dossier “kicad” sur votre disque dur pour stocker tous vos projets. Ce dossier ne doit pas changer car cela peut générer des erreurs.
  • Créer un dossier par projet. Pour cloner un projet il suffit de dupliquer le répertoire entier et le nommer autrement.
  • Créer également un sous-dossier “lib” pour vos bibliothèques de composants ou d'empreintes. Il sera utilisé pour tous vos projets.

Dans KiCad, il faut éviter de sauter d'une étape à l'autre car l'allée/retour entre le schéma et la carte crée des problèmes. Il faut donc finir de dessiner son schéma électronique avant de passer aux étapes suivantes. Ce qui implique d'avoir testé son circuit au préalable et d'avoir tous les modèles de composants et leurs datasheets sous les yeux.

Utilisation

Comme KiCad est une suite de logicielle, il est parfois un peu compliqué de se repérer. Pour résumé, on ouvre essentiellement deux programmes : Eeschema puis Pcbnew et à partir d'eux on accède à tous les autres fonc.

Raccourcis clavier

Placer le curseur sur le composant et appuyer sur une de ces touches. Appuyer sur “?” pour afficher une liste exhaustive.

Raccourcis Description
a Ajouter un composant
p Ajouter un composant d'alimentation
e Éditer
v Changer la valeur
r Rotation
x Symétrie en X
y Symétrie en Y
m Bouger
g Bouger en gardant les connexions
c Copie

Associations composants / empreintes

Pour des informations sur les boîtiers, visitez cette page : BOÎTIERS ÉLECTRONIQUES.

Quelques termes à reconnaître :

  • CMS = SMD : composant monté de surface
  • Traversant = Through Hole : composant traversant
  • Case, package, housing pour boîtiers
  • LargePads, LongPags, Handsoldering : pour des empreintes plus faciles à souder à la main
Image Type de composant PCB Boitier Description KiCad Composant KiCad empreinte
Résistance CMS 1206 faible puissance (…V, …A) R Resistor_SMD:R_1206_HandSoldering
Résistance CMS 1812 faible puissance (…V, …A) R Resistor_SMD:R_1812_HandSoldering
Résistance Traversant format “classique”, L6.5mmxD2.3mm moyenne puissance 1/4 W, 250V R Resistor_ThroughHole:Resistor_Horizontal_RM10mm
Condensateurs CMS 1206 faible puissance < 16V, 10uF C Capacitor_SMD:C_1206_HandSoldering
Condensateurs CMS 1812 faible puissance < 16V, 50uF C Capacitor_SMD:C_1812_HandSoldering
Condensateurs Traversant disque, radial 0.1uF, 50V, céramique, pas de 5mm C Capacitor_ThroughHole:C_Disc_D6_P5
Condensateur Traversant D10xL16 mm 220uF, 35V, chimique radial C Capacitor_ThroughHole:C_Radial_D10_L16_P5
Condensateur Traversant D16xL26 mm 1000uF, 50V, chimique radial C Capacitor_ThroughHole:C_Radial_D16_L25_P7.5
Diode Traversant D0-41 1N4007, 1A D Diodes_ThroughHole:Diode_DO-41_SOD81_Horizontal_RM10
Diode Traversant DO-35 (SOD27) 1N4148, 450mA, 100V D Diodes_ThroughHole:Diode_DO-35_SOD27_Horizontal_RM10
Diode CMS SMA (DO-214AC) D Diodes_SMD:SMA_Handsoldering
Diode CMS SOT-404 (D2PAK) BYV32EB-200, 200V, 20A D TO_SOT_Packages_SMD:SOT-404
Régulateur Traversant TO-220 LM7805, LDO, 1A, 5V REGUL TO_SOT_Packages_THT:TO-220_Neutral123_Vertical_LargePads (mais problème de Vin, Vout, GND)
Régulateur CMS SOT-23-5 MIC5216, LDO,0.5A, 3.3V REGUL TO_SOT_Packages_SMD:SOT-23-5
555 Traversant DIP 6 LM555N timer 555 Housings_DIP:DIP-6_W7.62mm_LongPads
ULN2003 Traversant DIP 16 Seven Darlingtons, 500mA, 100V ULN Housings_DIP:DIP-16_W7.62mm_LongPads
PN222A Traversant TO-92 Transistor, 1=emitter, 2=base, 3=collector, 500mA PN222A TO_SOT_Packages_THT:TO-92_Inline_Wide
TIP120 Traversant TO-220 Darlington Transistor, 1=b, 2=c, 3=e, 5A, 60V TIP120 Power_Integrations:TO-220
IRF540N Traversant TO-220 N-Power Mosfet, 1=gate, 2=drain, 3=source, 4=drain, 33A, 100V, Rds=44mΩ IRF540N Power_Integrations:TO-220
FQP330N06L ou IRL540N Traversant TO-220 N-Power Logic level Mosfet, 1=gate, 2=drain, 3=source, 4=drain, 32A, 60V, Rds=35mΩ Q_NMOS_GDS TO_SOT_Packages_THT:TO220_Neutral123_Vertical_LargePads
MMBF170 CMS SOT-23 (TO-236AB) MMBF170 N-channel MOSFET, 60v, 500mA, 1=gate, 2=drain, 3=source TO_SOT_Packages_SMD:SOT-23
IRLR2905 CMS D-PAK (TO-252AA) Q_NMOS_GDSD N-channel MOSFET, logic level, 55v, 42A, Rds=0.027Ω, 1=gate, 2=drain, 3=source, 4=drain :?:
Connecteur pour fil Traversant CONN_01x04 HE14 - 2,54mm, Pin Header femelle 1 rangée de 4 pins Pin_Headers:Pin_Header_Straight_1x04
Connecteur pour fil Traversant CONN_01x06 HE14 - 2,54mm, Pin Header mâle 1 rangée de 6 pins Pin_Headers:Pin_Header_Straight_1x06
Connecteur à vis Traversant CONN_01x02 Bornier à vis, terminal block, 2 connecteurs 5mm Connect:bornier2
Embase alimentation Traversant Barrel Jack Ø intérieur : 2,1 mm, Ø extérieur : 5,5 mm, Longueur : 9,5 mm Connect:BARREL_JACK ou JACK_ALIM (vérifier dimensions…)
Connecteur USB B Traversant Connect:USB_B
Bouton Traversant Buttons_Switches_ThroughHole: :?:
Potentiomètre Traversant Potentiometers: :?:
LED Traversant LEDs:LED-5mm
LED CMS 1206 LEDs:LED-1206
LED RVB Traversant Attention à common cathode ou anode LEDs:LED-RGB-5mm_Common_Cathode
Relais 5V Traversant Relays_ThroughHole: :?:
Relais 220V Traversant ou à part Marque Keys avec transistor (direct Arduino) Relays_ThroughHole: :?:
L293 Traversant DIP16 QUADRUPLE HALF-H DRIVERS, 600 mA/channel, 4.5 V to 36 V :?: Housings_DIP:DIP-16_W7.62mm_LongPads
L298 Traversant MultiWatt15 :?: Power_Packages_ThroughHole:Multiwatt_15_Vertical

Gérer les bibliothèques

  • Bibliothèques de composants ou symboles : fichiers .lib et .dcm
  • Bibliothèques d'empreintes ou Footprint : dossiers .pretty avec des fichiers *.kicad_mod (nouveau format)
  • Bibliothèques 3D : dossiers .3dshapes

Bibliothèques officielles

Par défaut, les bibliothèques officielles sont accessibles par Internet. Personnellement, je préfère avoir une copie locale pour pouvoir travailler sans Internet.

Exemple d'organisation dans le répertoire de KiCad /usr/share/kicad :

  • ./github : les empreintes, dossiers .pretty, fichiers *.kicad_mod
  • ./library : les symboles des composants, fichiers *.lib et *.dcm
  • ./modules/ : *.kicad_pcb, *.brd
    • ./packages3d : repésentations 3D, dossiers *.3dshapes
    • ./footprint_doc : documentation des empreintes, fichiers *.pdf, *.ps
  • ./template/ : modèles (Arduino, Raspberry, …)

Exemple d'organisation dans mon dossier personnel ~/kicad :

  • ./projects : les projets
  • ./lib : toutes les bibliothèques
    • ./library : les symboles des composants, fichiers *.lib et *.dcm
    • ./modules/ : *.kicad_pcb, *.brd
    • ./template/ : modèles (Arduino, Raspberry, …)

Composants

Empreintes

  • Télécharger le script “library-repos-install.bat” pour Windows ou “library-repos-install.sh” pour Linux ou Mac : lien
  • Éditer le fichier pour indiquer où vous souhaitez installer les empreintes

WORKING_TREES=${WORKING_TREES:-/usr/share/kicad/github}

  • Insatller avant tout le nécessaire : bash ./library-sources-install.sh –install-prerequisites'
  • Lancer le script : bash ./library-sources-install.sh –install-or-update

Plus d'infos sur les bibliothèques : http://kicad-pcb.org/contribute/librarians/

Créer ou importer un composant

Si un composant n'existe pas, vous avez trois possibilités : trouver un composant sur Internet et l'importer dans vos projets pour pouvoir l'utiliser, ou bien en créer un à partir d'un composant existant ou alors en créer un totalement nouveau (peu fréquent).

1 - Importer un composant

Quelques sites. A prendre avec des pincettes … car les formats de fichier KiCad sont assez récents (2014) :

Prenons un exemple, nous voulons ajouter un driver de moteur très répandu, le L293. Par défaut il n'est pas présent dans la bibliothèque officielle. En cherchant sur le site de per.launay.free.fr, on trouve plusieurs librairies dont celle-ci à télécharger : stepper_drivers.lib.zip.

Après l'avoir téléchargée, il faut la décompresser, la copier dans un emplacement (ex : ~/kicad/lib/library/) et l'ajouter à KiCad. Pour cela, il faut ouvrir Eeschema et le menu “Préférences > Librairies de Composants” :

2 - Créer un composant à partir d'un autre

C'est le cas le plus fréquent, il s'agit de ne pas réinventer la roue et d'utiliser un composant existant déjà dans une librairie pour le modifier ensuite. Prenons un exemple : modifier le schéma d'un régulateur 5V dont les numéros de broches (pins) génèrent des erreurs à l'étape du circuit imprimé. Il faut les renommer VIN en 1, GND en 2 et VOUT en 3.

3 - Optimisation

Dans l'éditeur de composant : Menu Éditer les propriétés du composant
Dans l'éditeur de composant : Sauver le composant après modification
Dans Cvpcb : Activation du filtrage des modules
Dans Cvpcb : Associations automatiques

Alias

Onglet “Alias” : Il est possible de créer des alias pour un composant, car il est identique à d'autres composants.

Filtrage des modules

Onglet “Filtrage modules” : il est possible d'association automatique un composant à une empreinte ou à un groupe d'empreinte. De plus il est possible d'utiliser des “*” pour signifier un ensemble d'empreintes. Par exemple pour le régulateur 5V 7805, souvent associé à un boitier TO-2200, nous pouvons écrire un choix direct avec le nom complet (TO_SOT_Packages_THT:TO-220_Neutral123_Vertical_LargePads) ou bien une sélection avec “*” (TO-220_Neutral123_*LargePads).

Une fois sauvé, nous pouvons reprendre la schématique et l'association. Alors grâce au bouton “Filtrer la liste des modules par mots clés”, on obtient une liste réduite et par le bouton “Lancer l'association automatique des empreintes”.

3 - Créer un nouveau composant

:!: Munissez-vous de la datasheet du composant.

Ouvrir l'éditeur de composants
Créer un nouveau composant (donner un nom)
Ajouter des pins
Modifier : nom, numéro de pin, entrée/sortie, power input/output, droite/gauche
Exemple avec quatre pins
Exporter composant

Créer ou importer une empreinte

1 - Importer une empreinte

Voir les site de téléchargement “importer un composant”.

Ouvrir l'éditeur d'empreintes
Ouvrir l'assistant d'ajout d'empreintes

2 - Créer une empreinte à partir d'une autre

Il est conseillé pour un usage personnel, de rééditer la plupart des empreintes pour ajuster les tailles de perçage et des pads (soudure des pattes du composant), de manière à avoir moins de problèmes lors du perçage à la main. Problème récurrent : le perçage peut faire sauter les pistes, et il n'y a plus assez de surface pour souder les pattes du composant.

Ouvrir l'éditeur d'empreintes
Sélectionner la librairie active
Choisisser “Connect” par exemple
Charger une empreinte à partir de la librairie
Filtrer les modules avec “bornier*” par exemple ou “Lister tous”
L'empreinte apparaît. Les pads sont les parties à souder. Il y a aussi le nom de l'empreinte et le la référence
Éditer l'empreinte pour changer un paramètre. Par exemple l'épaisseur des pads ou du perçage pour une carte à faire à la main.
Exporter l'empreinte
Il s'agit d'un fichier .kicad_mod à placer dans votre répertoire personnel d'empreinte qui doit se terminer par .pretty comme ici

3 - Créer une nouvelle empreinte

Ajouter des pads aux bonnes dimensions, le nom et la référence ainsi que les graphiques représentant simplement l'empreinte. Attention, il faut bien suivre les dimensions du boîtier fournis dans la datasheet. Il est en général plus simple de modifier une empreinte existante.

Créer le circuit imprimé

Règles de conception

  • Grille : 0.5mm (voir en dessous) pour le placement des empreintes, 1mm pour le contour de la carte
  • Options de couches : 2 couches, Edge.cuts (découpe de la carte), F.Cu (face avant), B.Cu (face arrière),
  • Règles de conception : Isolation 0.6mm, Largeur de piste 0.8mm
  • Option de routage : pousser

PCB

Voir l'article les Circuits imprimés DIY

Design Rules

Ouvrir Pcbnew
Importer la netliste
Lire la netliste (plusieurs options si modifications de la netliste)
Les empreintes apparaissent en “tas”
Sélectionner le mode “empreinte”
Clic droit “Étaler Toutes les Empreintes” > “…Globaux”
Les empreintes sont séparées dans l'espace
Réunir les empreintes par groupe
Ajouter les pistes (commencer par le GROUND). Possibilité d'ajouter des “Vias” en appuyant sur “v”. Cela permet de faire passer la piste sur l'autre face.
Plaque routée
Cliquer sur la couche “Edge Cuts” pour créer les contours de la carte
Contours, dessiner le contour autour des composants (ou avant pour placer les composants). N'oubliez pas de choisir une grille plus grosse (~1mm).

Pour changer d'empreinte s'il elle a a été modifiée : taper “e” sur l'empreinte et changer l'empreinte.

Augmenter la taille des pads

Impression