Sortie de KiCad 4.0

8 minute read Published: 2015-03-09

Article about KiCad 4.0 written by me in 2015 on LinuxFR. It was published under the license CC By-SA.

Le 29 novembre 2015, la quatrième version du projet KiCad a été publiée.

Commençons par une courte présentation, tirée de l'article Wikipédia:

KiCad est un ensemble de logiciels libres de conception pour l'électronique pour le dessin de schémas électroniques et la conception de circuits imprimés.

Logo de Kicad

Cet ensemble offre principalement un gestionnaire de projet, un éditeur de schémas, un éditeur de circuits imprimés gérant jusqu'à 32 couches de cuivre, une visionneuse de fichier gerber et une calculatrice d'aide à la conception. Le logiciel a été créé en 1992 par Jean-Pierre Charras, professeur à l'IUT de Saint-Martin-d'Hères.

Les sources ont été publiées sous licence GPL dans le début des années 2000 et ont été depuis constamment améliorées par une équipe de développement bénévole. Depuis 2013, le CERN s'investit dans le développement du logiciel, en récoltant des dons et en mettant à disposition des développeurs.

Côté technique, le cœur du logiciel est codé en C++ et utilise la bibliothèque wxWidget 3. Il est également possible d'écrire des extensions en Python.


Site officiel Téléchargement Faire un don Contribution du CERN Documentation Présentation du routage en mode « Push and shove » Présentation du routage de pistes à longueur controllée Présentation du routage de paires différentielles


Présentation des différents composants Kicad

Eeschema, l'éditeur de schémas

Eeschema

La première étape dans la conception d'un circuit électronique est d'en dessiner le schéma électrique.

Eeschema, l'éditeur de schémas de Kicad, permet donc de représenter les différents composants électroniques utilisés dans le projet et leurs connexions.

Le logiciel propose deux paradigmes différents pour la représentation d'un circuit :

  1. Schéma simple-page
  2. Schéma hiérarchique

Un schéma simple-page tient dans une seule page et n'utilise pas de sous-circuits.

Un schéma hiérarchique est composé de plusieurs pages, représentant des sous-circuits, qui peuvent ensuite être réutilisés facilement. Un peu à l'image de la séparation d'un code source en plusieurs fichiers.

La capture d'eeschema ci-dessus nous montre un schéma hiérarchique. En effet, si on regarde attentivement, on aperçoit sur la droite un bloc « Sheet pic_socket » qui renvoie vers le fichier « pic_socket.sch ».

Création de bus

L'outil permet aussi de créer des bus, fonctionnalité qui permet de regrouper plusieurs équipotentielles en un seul et même fil. Cette fonction permet aussi de rendre le schéma plus clair et donc plus simple à lire.

Génération de liste de composants

Une fois la carte conçue et fabriquée, il faut alors commander puis souder les composants sur la carte. Pour une petite carte avec quelques composants un traitement manuel suffit amplement. Cependant, pour une carte avec plusieurs centaines de composants, cette tâche peut vite devenir fastidieuse. Kicad permet de générer une liste de pièces, appelée BOM (Bill Of Material), qui est la liste des composants présents sur la carte. Ceci facilite grandement la commande des composants et le câblage (soudage des composants sur la carte) de la carte. Cette BOM peut être générée sous plusieurs formes différentes grâce à un système de greffon écrit en XML.

Éditeur circuits imprimés (layout) -- pcbnew

Pcbnew

L'éditeur de circuit imprimé ou layout en anglais permet d'éditer des cartes jusqu'à 32 couches de cuivre et sans limite de dimension. Le CERN qui contribue désormais de manière très active au développement du logiciel a apporté des fonctionnalités très importantes comme la longueur contrôlée des équipotentielles (length matching), le routage différentiel ou le routage assisté (push and shove).

Visionneuse de films de fabrication -- GerbView

Gerbview (**NdM:** 2022/03/20 l'image tirée de la documentation de kicad-pcb.org a été perdue, le domaine squatté, et elle a donc été remplacée par l'écran principal de GerbView)

KiCad permet l'export au format Gerber, le format standard pour la transmission de donnée à une usine de fabrication de circuit imprimé. L’outil GerbView permet de visionner les fichiers produit, afin d'y détecter les erreurs éventuelles avant l'envoi en fabrication du circuit.

Calculatrice d'aide à la conception

Pcb Calculator

Visualisateur 3D

Kicad intègre un module de visualisation, permettant d'inspecter un circuit en 3D.

Kicad 3D Viewer

Nouveautés de la version 4

PcbNew

Durant le développement de cette nouvelle version, les développeurs de KiCad se sont concentrés sur « pcbnew », le module de création et de routage de circuits imprimés.

Nouveaux formats de fichiers

Le format de fichier pour les empreintes de composants et pour les circuits imprimés a été remplacé par un format maison basé sur la syntaxe S-expression.

(module R_0805 (layer F.Cu) (tedit 5415CDEB)
  (descr "Resistor SMD 0805, reflow soldering, Vishay (see dcrcw.pdf)")
  (tags "resistor 0805")
  (attr smd)
  (fp_text reference R_0805 (at 0 -2.1) (layer F.SilkS)
    (effects (font (size 1 1) (thickness 0.15)))
  )
  (fp_text value VAL** (at 0 2.1) (layer F.SilkS)
    (effects (font (size 1 1) (thickness 0.15)))
  )
  (fp_line (start -1.6 -1) (end 1.6 -1) (layer F.CrtYd) (width 0.05))
  (fp_line (start -1.6 1) (end 1.6 1) (layer F.CrtYd) (width 0.05))
  (fp_line (start -1.6 -1) (end -1.6 1) (layer F.CrtYd) (width 0.05))
  (fp_line (start 1.6 -1) (end 1.6 1) (layer F.CrtYd) (width 0.05))
  (fp_line (start 0.6 0.875) (end -0.6 0.875) (layer F.SilkS) (width 0.15))
  (fp_line (start -0.6 -0.875) (end 0.6 -0.875) (layer F.SilkS) (width 0.15))
  (pad 1 smd rect (at -0.95 0) (size 0.7 1.3) (layers F.Cu F.Paste F.Mask))
  (pad 2 smd rect (at 0.95 0) (size 0.7 1.3) (layers F.Cu F.Paste F.Mask))
  (model Resistors_SMD/R_0805.wrl
    (at (xyz 0 0 0))
    (scale (xyz 1 1 1))
    (rotate (xyz 0 0 0))
  )
)

L'exemple ci-dessus représente une résistance SMD de type 0805. NdM: les images du rendu 2D/3D avec KiCad 4.0 ont été perdues.

Nouveau moteur de rendu 2D

L'équipe du CERN a aidé à développer un nouveau moteur de rendu pour PcbNew, destiné à remplacer l'ancien.

Le nouveau moteur n'implémente pas encore toutes les fonctionnalités de l'ancien, et donc les deux modes restent accessibles pour cette version 4. À noter que les nouveaux outils pour l'aide au routage présentés ci-dessous sont uniquement disponibles dans le nouveau mode.

Routeur « Push and Shove »

Le routeur en action Ce mode de routage déplace automatiquement les pistes gênantes pour la connexion en cours.

Vidéo Youtube

Routage de paire différentielle

Routeur en action Permet de router deux pistes en gardant une largeur fixe entre elles. Utile pour les transmissions différentielles.

Piste à longueur contrôlée « length matching »

Le routeur en action Cette fonction permet de définir une longueur souhaitée à un fil et de voir en temps réel, pendant le routage si on s'approche ou si on s'éloigne de cette valeur. Lorsqu'un concepteur route un bus analogique rapide, il est particulièrement important que toutes ses pistes mesurent bien la même longueur afin d'éviter les problèmes de désynchronisation, c’est-à-dire une différence de temps de transmission sur deux lignes parallèles.

Prise en charge de Mac OS X

Dans la version précédente, la prise en charge de Mac OS X était notée comme expérimentale. Avec cette nouvelle version, Mac OS X est devenu un citoyen de première classe :

Bibliothèques

Un effort particulier a été effectué sur les bibliothèques, avec notamment la création d'une convention pour la création de composants schémas et d'empreintes. Voir KiCad Library Convention.

Et pour les prochaines versions?

La prochaine version devrait amener plusieurs améliorations intéressantes, notamment :

Référence