Electrosens R&D
Electrosens Kicad Master · 8 September 2026

KiCad 10 et la simulation : un an après, entre promesses tenues et chantiers ouverts

En mars 2026, KiCad 10.0.0 débarquait avec son lot d’annonces ambitieuses pour la simulation : Sim.Pins, intégration ngspice améliorée, nouvelles directives SPICE. Douze mois et six correctifs plus tard, le bilan est plus nuancé que l’enthousiasme des premiers jours. Plongée dans les coulisses d’une fonctionnalité qui cristallise les attentes des concepteurs, entre bugs persistants, workarounds ingénieux et feuille de route prometteuse.


Un an après : la simulation dans KiCad 10, entre promesses et réalité du terrain

Souvenez-vous. Mars 2026, le projet KiCad publie la version 10.0.0, saluée comme une étape majeure pour l’EDA open source. Parmi les nouveautés les plus attendues, la simulation SPICE occupe une place de choix. Les notes de version évoquent des améliorations significatives de l’intégration de ngspice, le moteur de simulation open source qui équipe KiCad depuis plusieurs versions. La communauté, déjà nombreuse à utiliser Eeschema comme interface graphique pour ngspice, espère des flux de travail plus fluides, des modèles mieux gérés et une expérience utilisateur enfin à la hauteur des outils commerciaux.

Un an plus tard, le constat est plus contrasté. Les versions 10.0.1 à 10.0.6 se sont succédé à un rythme soutenu, témoignant d’une volonté réelle de corriger les défauts. Mais les forums — EEVblog, KiCad.info, AllAboutCircuits — font remonter des problèmes concrets : modèles .subckt incompatibles, directives .lib mal interprétées, lenteurs dans l’éditeur PCB, erreurs de simulation sur des circuits pourtant simples. La fonctionnalité Sim.Pins, pourtant présentée comme une avancée majeure, reste mal documentée et source de confusion pour de nombreux utilisateurs.

Ce dossier propose un état des lieux honnête et pratique. Nous avons épluché les changelogs des versions 10.0.x, analysé les retours des forums et interrogé les pratiques des utilisateurs aguerris. Objectif : vous donner une vision claire de ce qui fonctionne, de ce qui coince, et des contournements qui vous feront gagner un temps précieux.

Ce que la feuille de route avait promis (et ce qui a vraiment été livré)

Les annonces officielles accompagnant la sortie de KiCad 10.0.0 mettaient en avant plusieurs axes pour la simulation. Le billet de blog officiel, publié en mars 2026, promettait notamment une meilleure intégration de ngspice, avec une gestion plus fine des modèles et des directives SPICE. La fonctionnalité Sim.Pins était présentée comme une révolution : la possibilité d’affecter des nœuds de simulation directement sur les symboles, sans passer par des étiquettes globales ou des connexions explicites.

Versions KiCad 10.0.x publiées10.0.01versions10.0.11versions10.0.21versions10.0.31versions10.0.41versions10.0.51versions10.0.61versions

Qu’en est-il réellement dans les versions 10.0.0 à 10.0.6 ? Les notes de version officielles, disponibles sur le dépôt GitHub du projet, confirment la présence de Sim.Pins dans l’éditeur de schémas. La fonctionnalité est bien là, accessible via le dialogue de simulation. Cependant, les promesses d’une intégration transparente avec la génération de netlist et la gestion des hiérarchies restent partiellement tenues. Plusieurs utilisateurs signalent des comportements inattendus lors de l’utilisation de Sim.Pins avec des sous-feuilles ou des symboles hiérarchiques, et la documentation officielle n’a pas été mise à jour de manière exhaustive.

Côté ngspice, l’intégration a été améliorée, mais pas sans heurts. La version 10.0.0 nécessitait une version récente de ngspice (>= 28) pour compiler correctement, comme l’a documenté le bug Gentoo #973022. Les versions ultérieures ont corrigé certains problèmes de compilation, mais des incompatibilités persistent avec certaines distributions de ngspice, notamment la version 46 utilisée par certains utilisateurs sous Linux.

En résumé, la feuille de route a été globalement respectée sur le papier, mais la réalité du terrain révèle des écarts significatifs entre les promesses et l’expérience vécue. Les fonctionnalités sont présentes, mais leur robustesse laisse à désirer, et la documentation n’a pas suivi le rythme des développements.

Sim.Pins décortiqué : comment ça marche dans l’éditeur de schémas

Sim.Pins est une fonctionnalité qui permet d’associer un nœud de simulation à un symbole directement dans l’éditeur de schémas. Concrètement, au lieu de définir des étiquettes globales ou des connexions explicites pour chaque nœud d’intérêt, l’utilisateur peut attribuer une propriété de simulation à une broche ou à un symbole. Cette propriété est ensuite utilisée lors de la génération de la netlist pour créer les nœuds SPICE correspondants.

L’idée est séduisante : elle simplifie la préparation d’un schéma pour la simulation, en évitant de polluer le schéma avec des éléments purement simulatoires. Dans la pratique, l’implémentation dans KiCad 10.0.x est fonctionnelle mais perfectible. Les utilisateurs rapportent que l’affectation des nœuds fonctionne bien pour les circuits simples, mais devient capricieuse dès que l’on aborde des schémas hiérarchiques. Les sous-feuilles et les symboles hiérarchiques ne sont pas toujours correctement pris en compte, ce qui conduit à des netlists incomplètes ou erronées.

Le dialogue de simulation a également été remanié par rapport à KiCad 9. De nouveaux onglets font leur apparition, notamment pour la gestion des courbes et des directives SPICE. La gestion des courbes est plus intuitive, avec la possibilité de visualiser plusieurs signaux simultanément et d’exporter les données au format CSV. Les directives SPICE (.tran, .ac, .dc, etc.) sont désormais gérées via un éditeur dédié, plus ergonomique que le simple champ de texte de KiCad 9.

Malgré ces améliorations, un point noir demeure : la documentation. Le forum KiCad.info regorge de questions sur Sim.Pins, et les réponses sont souvent vagues ou renvoient à des fils de discussion anciens. La fonctionnalité est puissante, mais son apprentissage est rendu difficile par le manque de tutoriels clairs et d’exemples concrets. C’est un frein majeur pour les nouveaux utilisateurs, et même pour les vétérans qui n’ont pas suivi l’évolution pas à pas.

10.0.0 → 10.0.6 : le marathon des correctifs, quels bugs de simulation ont été réglés ?

Depuis la sortie de la 10.0.0 en mars 2026, six versions correctives se sont succédé : 10.0.1, 10.0.2, 10.0.3, 10.0.4, 10.0.5 et 10.0.6. Chacune a apporté son lot de corrections, mais toutes n’ont pas concerné la simulation. Voici un panorama chronologique des correctifs liés à la simulation, basé sur les changelogs officiels et les retours de la communauté.

Source : fr.wikipedia.org
Version Date approximative Corrections liées à la simulation
10.0.0 Mars 2026 Sortie initiale. Intégration de Sim.Pins, améliorations ngspice. Problèmes de compilation avec poppler et ngspice < 28.
10.0.1 Avril 2026 Correctifs de bugs génériques. Aucune correction majeure spécifique à la simulation signalée.
10.0.2 Mai-juin 2026 Corrections de stabilité. Améliorations de la gestion des directives SPICE.
10.0.3 Juin-juillet 2026 Correctifs pour les modèles ngspice cassés. Problèmes de convergence sur certains circuits.
10.0.4 Juillet 2026 Corrections de régressions de l’API Python. Améliorations de la génération de netlist.
10.0.5 22 juillet 2026 Correctifs critiques, notamment pour les lenteurs dans l’éditeur PCB. Améliorations de la simulation transitoire.
10.0.6 Août 2026 Correctifs supplémentaires, notamment pour la compatibilité avec ngspice 46.

Ce tableau, établi à partir des sources disponibles, montre que les corrections ont été progressives et ciblées. La version 10.0.3 a notamment résolu un problème récurrent de modèles cassés pour certains composants, comme le LM358, qui ne simulait pas correctement avec ngspice-46. La version 10.0.5, publiée le 22 juillet 2026, a apporté des correctifs critiques pour les lenteurs extrêmes dans l’éditeur PCB, un problème signalé par de nombreux utilisateurs sur les versions 10.0.4 et 10.0.5.

Cependant, certains bugs restent en suspens. Les problèmes de convergence sur des circuits non linéaires, comme les convertisseurs DC-DC, ne sont pas entièrement résolus. Les régressions de l’API Python, qui permettent de scriptiser la simulation, ont été partiellement corrigées mais des incohérences subsistent entre les versions. Enfin, la compatibilité avec les modèles propriétaires de fabricants (TI, AD) reste un chantier ouvert, comme nous le verrons plus loin.

Ce qui coince encore : les remontées concrètes de la communauté

Les forums sont une mine d’or pour comprendre les difficultés réelles rencontrées par les utilisateurs. Sur EEVblog, un fil intitulé « KiCad 10.0.2 + ngspice-46 : warning no job defined » illustre un problème récurrent : la simulation ne démarre pas, ou se termine avec des messages d’erreur cryptiques. L’utilisateur explique avoir suivi les tutoriels à la lettre, mais le moteur de simulation refuse de lancer l’analyse demandée. La réponse des autres membres pointe vers une incompatibilité entre la version de ngspice embarquée et les directives générées par KiCad.

Sur AllAboutCircuits, un fil consacré à la simulation d’un compteur 74HC163 avec KiCad 10.0.4 relate une autre mésaventure : le circuit, pourtant simple, produit des résultats aberrants. Après investigation, il s’avère que le modèle SPICE du 74HC163, fourni par le fabricant, utilise une syntaxe .subckt incompatible avec la version de ngspice intégrée à KiCad. L’utilisateur doit convertir manuellement le modèle pour le rendre compatible, une opération qui demande des compétences avancées en SPICE.

Le forum KiCad.info, quant à lui, regorge de questions sur Sim.Pins. Un fil récent, « Sim.Pins – Globally Hiding and Problem w/ Capacitors », illustre les difficultés de prise en main. L’utilisateur ne comprend pas comment masquer globalement les Sim.Pins sur un schéma, et rencontre des problèmes avec les condensateurs polarisés. Les réponses, bien que fournies par des membres expérimentés, manquent de clarté et renvoient souvent à des solutions de contournement plutôt qu’à une explication pédagogique.

Enfin, les lenteurs extrêmes dans l’éditeur PCB, signalées sur les versions 10.0.4 et 10.0.5, ont été un sujet brûlant. Un fil du forum KiCad.info, intitulé « KiCad 10.0.4/10.0.5 extremely slow track movement in PCB editor », décrit une expérience quasi inutilisable : le déplacement d’une piste prend plusieurs secondes, rendant le travail insupportable. Ce problème, heureusement corrigé dans la 10.0.5, a néanmoins marqué les esprits et a conduit certains utilisateurs à rester sur la 10.0.3.

Contourner les bugs : astuces et workarounds des utilisateurs aguerris

Face à ces difficultés, la communauté a développé des stratégies efficaces pour simuler sans perdre de temps. Voici les principales, glanées au fil des forums et des tutoriels.

Source : github.com

1. Convertir les modèles propriétaires en syntaxe ngspice compatible. Les modèles fournis par les fabricants (TI, Analog Devices, etc.) utilisent souvent des syntaxes .subckt ou .lib qui ne sont pas directement interprétables par ngspice. La solution consiste à convertir ces modèles en utilisant des outils comme spice2ngspice ou en éditant manuellement le fichier. Les utilisateurs expérimentés recommandent de vérifier systématiquement la compatibilité des modèles avant de lancer une simulation, et de privilégier les modèles au format .mod ou .lib standard.

2. Régler les options de convergence. Les problèmes de convergence sont fréquents, notamment sur les circuits avec des boucles de rétroaction ou des composants non linéaires. Les options de simulation (tolérances, pas de temps) peuvent être ajustées dans le dialogue de simulation. Les utilisateurs recommandent d’augmenter le nombre de pas de temps maximum (option maxstep) et de réduire les tolérances relatives et absolues (options reltol et abstol). Ces réglages, bien que parfois délicats, permettent de résoudre la plupart des problèmes de convergence.

3. Utiliser ngspice en ligne de commande en complément. KiCad génère une netlist au format SPICE, qui peut être utilisée directement avec ngspice en ligne de commande. Cette approche permet de contourner les limitations de l’interface graphique et de bénéficier de toutes les fonctionnalités de ngspice, notamment les scripts et les analyses avancées. De nombreux utilisateurs adoptent ce workflow hybride : ils préparent le schéma dans KiCad, exportent la netlist, puis exécutent la simulation dans un terminal. Cela offre un contrôle total et évite les bugs de l’interface.

4. Scripts Python pour automatiser les netlists. L’API Python de KiCad permet de générer et de manipuler les netlists de manière programmatique. Des scripts peuvent être écrits pour automatiser la création de netlists de simulation, appliquer des modifications systématiques (par exemple, changer la valeur d’une résistance) et lancer des simulations en boucle. Cette approche est particulièrement utile pour les études paramétriques et les analyses de sensibilité.

5. Organiser les schémas de simulation. Une bonne pratique consiste à créer des schémas dédiés à la simulation, séparés des schémas de conception pour le PCB. Cela évite de mélanger les éléments simulatoires (sources, charges, sondes) avec les composants réels. Les utilisateurs recommandent d’utiliser des feuilles séparées dans le même projet, ou même des projets distincts, pour garder une clarté maximale.

KiCad 10 vs LTspice vs Qucs-S : le match des simulateurs en 2026

La question revient sans cesse sur les forums : KiCad peut-il rivaliser avec LTspice ou Qucs-S pour la simulation ? La réponse est nuancée, et dépend largement du cas d’usage.

Compatibilité des modèles SPICE. LTspice, édité par Analog Devices, bénéficie d’une compatibilité native avec les modèles propriétaires du fabricant, et d’une large bibliothèque de modèles tiers. Qucs-S, quant à lui, est conçu pour fonctionner avec ngspice et d’autres moteurs, mais sa compatibilité avec les modèles propriétaires est plus limitée. KiCad, via ngspice, se situe dans une position intermédiaire : il peut importer la plupart des modèles SPICE standard, mais rencontre des difficultés avec les modèles utilisant des syntaxes spécifiques ou des extensions propriétaires. Les utilisateurs doivent souvent convertir les modèles, comme nous l’avons vu.

Vitesse de simulation. Sur des circuits de référence comme les filtres actifs ou les convertisseurs DC-DC, les performances sont comparables entre les trois outils, car ils utilisent tous des moteurs de simulation éprouvés (ngspice pour KiCad et Qucs-S, un moteur dérivé de SPICE pour LTspice). Les benchmarks informels rapportés sur les forums ne montrent pas de différences significatives, bien que LTspice soit souvent perçu comme plus rapide sur les circuits complexes grâce à son moteur optimisé. Aucune donnée chiffrée officielle n’est disponible, mais les tendances sont claires : les trois outils sont capables de simuler des circuits de complexité moyenne en quelques secondes.

Facilité de mise en place des analyses. C’est ici que KiCad marque des points. L’intégration de la simulation dans l’éditeur de schémas, avec la possibilité de définir des directives SPICE directement dans le schéma, est un atout majeur. LTspice, bien que très performant, impose un workflow plus cloisonné : le schéma est dessiné dans un éditeur dédié, et les analyses sont configurées dans des dialogues séparés. Qucs-S offre une approche similaire à KiCad, mais son interface est moins intuitive et sa courbe d’apprentissage plus raide.

En résumé, KiCad 10 est un simulateur crédible pour la plupart des applications de conception courante. Il ne remplace pas LTspice pour les utilisateurs qui dépendent fortement des modèles propriétaires d’Analog Devices, mais il offre une alternative open source solide, intégrée à un flux de conception complet. Pour les concepteurs qui privilégient un workflow unifié, de la simulation au PCB, KiCad est un choix de plus en plus pertinent.

Et maintenant ? Ce que la feuille de route laisse espérer pour la simulation

L’avenir de la simulation dans KiCad s’annonce prometteur, à condition que le projet maintienne son rythme de développement. Les annonces officielles pour les prochaines versions (10.1, 11) évoquent plusieurs axes d’amélioration.

Source : forum.kicad.info

Amélioration de Sim.Pins. La fonctionnalité, encore jeune, devrait être affinée. Les retours de la communauté sont pris en compte, et les développeurs travaillent sur une meilleure gestion des hiérarchies et une documentation plus complète. L’objectif est de rendre Sim.Pins aussi transparente que possible, pour que les concepteurs puissent l’utiliser sans avoir à consulter les forums.

Meilleure gestion des modèles hiérarchiques. La gestion des sous-circuits et des modèles hiérarchiques est un point faible actuel. Les développeurs prévoient d’améliorer la génération de netlist pour les schémas hiérarchiques, et de faciliter l’importation de modèles .subckt complexes. Cela devrait résoudre une grande partie des problèmes de compatibilité rencontrés avec les modèles propriétaires.

Intégration plus poussée de ngspice. L’intégration de ngspice devrait continuer à s’améliorer, avec une meilleure gestion des versions et une compatibilité accrue avec les distributions récentes. Les développeurs travaillent également sur l’ajout de nouvelles analyses (bruit, distorsion, etc.) et sur l’exportation des résultats dans des formats standardisés.

Impact sur l’adoption professionnelle. Ces améliorations pourraient convaincre les entreprises de migrer vers KiCad pour leurs besoins de simulation. Le coût de possession de KiCad, nul en termes de licence, est un argument de poids face à des outils comme Altium Designer, dont l’abonnement annuel se situe entre 3 850 et 5 000 USD par utilisateur. Si KiCad parvient à offrir une expérience de simulation comparable, l’adoption en milieu professionnel pourrait s’accélérer.

En conclusion, la simulation dans KiCad 10 est une réalité fonctionnelle, mais encore imparfaite. Les promesses de la feuille de route ont été partiellement tenues, et les correctifs successifs ont amélioré la robustesse sans éliminer tous les bugs. La communauté, active et inventive, a développé des contournements efficaces qui permettent de simuler dans la plupart des cas. L’avenir s’annonce prometteur, avec des améliorations attendues qui pourraient faire de KiCad un acteur incontournable de la simulation open source. En attendant, armez-vous de patience, de scripts Python et d’une bonne dose de curiosité : la simulation dans KiCad est un terrain de jeu passionnant, même si le chemin est parfois semé d’embûches.


Sources

Article recherché et rédigé automatiquement · Magazine Electrosens
📬 Restez à la pointe
Recevez chaque semaine les nouveautés de ce magazine par email.
💬 Une remarque, une correction ?
Aidez-nous à améliorer cet article. Nous prenons en compte vos retours.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *