{"id":781,"date":"2026-02-17T20:23:17","date_gmt":"2026-02-17T19:23:17","guid":{"rendered":"https:\/\/kev-it.fr\/?p=781"},"modified":"2026-02-17T20:23:17","modified_gmt":"2026-02-17T19:23:17","slug":"fabriquer-un-pcb-double-face-avec-une-cnc3018","status":"publish","type":"post","link":"https:\/\/kev-it.fr\/index.php\/2026\/02\/17\/fabriquer-un-pcb-double-face-avec-une-cnc3018\/","title":{"rendered":"Fabriquer un PCB double face avec une CNC3018"},"content":{"rendered":"\n<p>Apr\u00e8s plusieurs mois fabriquer des PCB, j&rsquo;ai enfin franchi un cap : la cr\u00e9ation de PCB double face ! Pour tout vous dire, c&rsquo;est pas vraiment compliqu\u00e9, mais \u00e7a reste quand m\u00eame un peu tricky \ud83d\ude09<br>Ce qui est important c&rsquo;est de d\u00e9finir un processus de production &#8230; et de s&rsquo;y tenir.<\/p>\n\n\n\n<p><strong>Disclaimer : Je d\u00e9cris ici des actions que j&rsquo;ai r\u00e9alis\u00e9es chez moi, sur mon mat\u00e9riel. Je ne peux pas \u00eatre tenu responsable de tout dommage caus\u00e9 en tentant de reproduire cela chez vous (dommages mat\u00e9riels ou corporels). Vous \u00eates responsables de vos actions !<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Les outils utilis\u00e9s<\/h2>\n\n\n\n<p>Pour cr\u00e9er mes PCB voici les outils que j&rsquo;utilise :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>KiCad pour la cr\u00e9ation du sch\u00e9ma \u00e9lectronique et la conception du PCB. jusque l\u00e0, rien d&rsquo;extraordinaire<\/li>\n\n\n\n<li>FlatCam pour la g\u00e9n\u00e9ration des GCode. C&rsquo;est lui qui va nous permettre d&rsquo;aligner les faces du PCB<\/li>\n\n\n\n<li>Candle pour piloter la CNC. Il m&rsquo;est devenu indispensable pour la fonction de compensation de la plan\u00e9it\u00e9 (heatmap).<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Les deux m\u00e9thodes pour produire un PCB double face<\/h2>\n\n\n\n<p>FlatCam dispose d&rsquo;une fonctionnalit\u00e9 native pour la cr\u00e9ation de PCB double face : il ajoute sur chaque face des trous d\u00e9di\u00e9s \u00e0 l&rsquo;alignement. Ainsi, au moment de graver le PCB, il suffit de le retourner et de le placer dans les encoches perc\u00e9es par la face pr\u00e9c\u00e9dente. C&rsquo;est une m\u00e9thode tr\u00e8s simple et efficace, mais elle provoque une usure plus rapide de la planche martyr. C&rsquo;est pourquoi j&rsquo;ai pr\u00e9f\u00e9r\u00e9 utiliser une autre approche.<\/p>\n\n\n\n<p>La seconde approche consiste \u00e0 cr\u00e9er point fixe sur la CNC qui deviendra la r\u00e9f\u00e9rence pour y placer le coin du PCB. Pour que cela fonctionne, il va cependant falloir ruser un peu &#8230; enfin je veux dire : int\u00e9grer la sym\u00e9trie du PCB dans l&rsquo;ensemble du processus de production. Je m&rsquo;explique.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Version courte<\/h2>\n\n\n\n<p>Lors de la conception dans Kicad, il va falloir tracer et exporter l&#8217;empreinte du PCB qui sera utilis\u00e9 par la CNC (j&rsquo;utilise la couche user1) et l&rsquo;exporter au m\u00eame titre que le EdgeCut et les faces Front et Back.<\/p>\n\n\n\n<p>Dans FlatCam, il faut d\u00e9finir le point z\u00e9ro afin qu&rsquo;il corresponde au point Working Coordinates (0,0) que l&rsquo;on configure sur la CNC. Ensuite, peut s\u00e9lectionner la face Back et le contour du PCB et faire une sym\u00e9trie pour inverser la gravure.<\/p>\n\n\n\n<p>Sur la CNC il faut placer un support fixe permettant de placer de mani\u00e8re fiable et reproductible le PCB \u00e0 l&#8217;emplacement attendu. Et c&rsquo;est bien l\u00e0 la difficult\u00e9 : on ne peux pas utiliser les coordonn\u00e9es 0,0 de la CNC car on ne peux pas fixer correctement le PCB sur un bord. il faut donc faire des essais jusqu&rsquo;\u00e0 trouver les bonnes coordonn\u00e9es et d\u00e9finir un point de r\u00e9f\u00e9rence parfait par rapport au coin du PCB.<\/p>\n\n\n\n<p>Enfin on peux graver le circuit : la face Back, puis on retourne le PCB et on grave le reste (Front, trous, EdgeCuts). Et tada !<\/p>\n\n\n\n<p>Note : Normalement, on devait utiliser le coin du PCB comme rep\u00e8re 0,0. C&rsquo;est en effet, plus logique et plus simple, mais c&rsquo;\u00e9tait sans compter sur Candle \ud83d\ude41 En effet, la fonction de Heatmap de Candle commence toujours par faire un probe du point point 0,0 m\u00eame si il est en dehors de la zone de probing d\u00e9finie ! Il convient donc d&rsquo;inclure un d\u00e9calage du point 0,0 par rapport au coin du PCB. Typiquement, j&rsquo;ajoute 10mm en X et en Y.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Version Longue<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Pr\u00e9paration de la CNC<\/h3>\n\n\n\n<p>Dans cette \u00e9tape nous allons fabriquer un nouveau point d&rsquo;origine pour les gravures de la CNC d\u00e9di\u00e9 aux PCB.<\/p>\n\n\n\n<p>Tout d&rsquo;abord, on va installer un support d\u00e9di\u00e9 aux PCB sur la CNC. Je m&rsquo;en suis cr\u00e9\u00e9 un moi-m\u00eame, imprim\u00e9 en 3D et au dimensions de ma CNC3018 pour utiliser les trous de fixation de la plaque d&rsquo;origine. Ainsi mes PCB seront toujours plac\u00e9s au m\u00eame endroit m\u00eame lorsque je les retourne.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" src=\"https:\/\/kev-it.fr\/wp-content\/uploads\/2025\/08\/CNC-support3D-1024x768.jpg\" alt=\"\" class=\"wp-image-782\" style=\"width:588px;height:auto\" srcset=\"https:\/\/kev-it.fr\/wp-content\/uploads\/2025\/08\/CNC-support3D-1024x768.jpg 1024w, https:\/\/kev-it.fr\/wp-content\/uploads\/2025\/08\/CNC-support3D-300x225.jpg 300w, https:\/\/kev-it.fr\/wp-content\/uploads\/2025\/08\/CNC-support3D-768x576.jpg 768w, https:\/\/kev-it.fr\/wp-content\/uploads\/2025\/08\/CNC-support3D-1536x1152.jpg 1536w, https:\/\/kev-it.fr\/wp-content\/uploads\/2025\/08\/CNC-support3D-2048x1536.jpg 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<p>Ensuite il faut trouver quelles sont les nouvelles coordonn\u00e9es du point d&rsquo;origine, c&rsquo;est-\u00e0-dire le point en bas \u00e0 gauche de mon PCB. Ici, je n&rsquo;ai pas de m\u00e9thode miracle. J&rsquo;ai cr\u00e9\u00e9 un PCB double face avec une pastille de chaque cot\u00e9 reli\u00e9es par un trou. Et j&rsquo;ai fait des essais jusqu&rsquo;\u00e0 trouver les bonnes coordonn\u00e9es. Cela ne vous servira \u00e0 rien, mais dans mon cas il s&rsquo;agit de X=81,2mm Y=40,8mm. Il faut garder ces valeurs bien au chaud car on en aura besoin plus tard dans Candle \ud83d\ude42<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Pr\u00e9paration du PCB (KiCad)<\/h3>\n\n\n\n<p>Ici on va cr\u00e9er son PCB comme d&rsquo;habitude dans <strong>KiCad<\/strong>, \u00e0 deux subtilit\u00e9s pr\u00e8s. <\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>On va utiliser la couche User.Drawings pour tracer le PCB brut qui sera pos\u00e9 sur la CNC. Dans mon cas, un PCB standard de 10cm x 7cm. Ensuite, on trace la d\u00e9coupe finale du PCB avec la couche Edge.Cuts. <br>Le contour du PCB brut est indispensable pour \u00ab\u00a0retourner\u00a0\u00bb la face back dans FlatCam tout en restant align\u00e9 \u00e0 la face Front.<\/li>\n\n\n\n<li>On va placer le point d&rsquo;origine des \u00ab\u00a0coordonn\u00e9es de per\u00e7age\/placement\u00a0\u00bb \u00e0 1cm du bord bas\/gauche du PCB. C&rsquo;est tr\u00e8s important pour la suite. <strong>Il ne faut pas placer l&rsquo;origine des coordonn\u00e9es sur un bord du PCB sinon on va endommager la pointe de la CNC au moment de cr\u00e9er la HeatMap !<\/strong><\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"719\" src=\"https:\/\/kev-it.fr\/wp-content\/uploads\/2025\/09\/image-1024x719.png\" alt=\"\" class=\"wp-image-787\" srcset=\"https:\/\/kev-it.fr\/wp-content\/uploads\/2025\/09\/image-1024x719.png 1024w, https:\/\/kev-it.fr\/wp-content\/uploads\/2025\/09\/image-300x211.png 300w, https:\/\/kev-it.fr\/wp-content\/uploads\/2025\/09\/image-768x539.png 768w, https:\/\/kev-it.fr\/wp-content\/uploads\/2025\/09\/image-1536x1078.png 1536w, https:\/\/kev-it.fr\/wp-content\/uploads\/2025\/09\/image.png 1732w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Lors de la g\u00e9n\u00e9ration des fichiers de tra\u00e7age et de per\u00e7age, ne pas oublier de cocher \u00ab\u00a0Utiliser origine de per\u00e7age\/placement\u00a0\u00bb.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"978\" height=\"618\" src=\"https:\/\/kev-it.fr\/wp-content\/uploads\/2025\/09\/image-1.png\" alt=\"\" class=\"wp-image-788\" srcset=\"https:\/\/kev-it.fr\/wp-content\/uploads\/2025\/09\/image-1.png 978w, https:\/\/kev-it.fr\/wp-content\/uploads\/2025\/09\/image-1-300x190.png 300w, https:\/\/kev-it.fr\/wp-content\/uploads\/2025\/09\/image-1-768x485.png 768w\" sizes=\"auto, (max-width: 978px) 100vw, 978px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"697\" height=\"419\" src=\"https:\/\/kev-it.fr\/wp-content\/uploads\/2025\/09\/image-2.png\" alt=\"\" class=\"wp-image-789\" srcset=\"https:\/\/kev-it.fr\/wp-content\/uploads\/2025\/09\/image-2.png 697w, https:\/\/kev-it.fr\/wp-content\/uploads\/2025\/09\/image-2-300x180.png 300w\" sizes=\"auto, (max-width: 697px) 100vw, 697px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Pr\u00e9paration du GCode (FlatCam)<\/h3>\n\n\n\n<p>La premi\u00e8re \u00e9tape est de charger tous les fichiers :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>les 4 fichiers Gerber (Front, Back, Edge.Cuts et User.Drawings)<\/li>\n\n\n\n<li>les 2 fichiers Excellon (PHT et NPTH)<\/li>\n<\/ul>\n\n\n\n<p>On obtient alors un affichage \u00e9quivalent \u00e0 Kicad. Mais \u00e7a ne va pas !<br>Pour graver la face Back correctement, il faut la retourner.<br>Il suffit de s\u00e9lectionner les fichiers User.Drawings et Back, d&rsquo;aller dans l&rsquo;onglet \u00ab\u00a0Transform Tool\u00a0\u00bb, et de cliquer sur \u00ab\u00a0Mirror (Flip)\u00a0\u00bb &gt; \u00ab\u00a0Flip on Y\u00a0\u00bb.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"585\" src=\"https:\/\/kev-it.fr\/wp-content\/uploads\/2025\/09\/image-3-1024x585.png\" alt=\"\" class=\"wp-image-790\" srcset=\"https:\/\/kev-it.fr\/wp-content\/uploads\/2025\/09\/image-3-1024x585.png 1024w, https:\/\/kev-it.fr\/wp-content\/uploads\/2025\/09\/image-3-300x171.png 300w, https:\/\/kev-it.fr\/wp-content\/uploads\/2025\/09\/image-3-768x439.png 768w, https:\/\/kev-it.fr\/wp-content\/uploads\/2025\/09\/image-3-1536x878.png 1536w, https:\/\/kev-it.fr\/wp-content\/uploads\/2025\/09\/image-3-2048x1170.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>On peut alors g\u00e9n\u00e9rer les fichiers GCode comme d&rsquo;habitude. <\/p>\n\n\n\n<p><strong>Attention <\/strong>: seule la face Back a \u00e9t\u00e9 retourn\u00e9e, il faudra donc commencer la gravure CNC par la face Back puis retourner le PCB pour graver le Front ainsi que les trous de per\u00e7age et la d\u00e9coupe du PCB.<\/p>\n\n\n\n<p>Back<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"938\" height=\"573\" src=\"https:\/\/kev-it.fr\/wp-content\/uploads\/2025\/09\/image-5.png\" alt=\"\" class=\"wp-image-794\" srcset=\"https:\/\/kev-it.fr\/wp-content\/uploads\/2025\/09\/image-5.png 938w, https:\/\/kev-it.fr\/wp-content\/uploads\/2025\/09\/image-5-300x183.png 300w, https:\/\/kev-it.fr\/wp-content\/uploads\/2025\/09\/image-5-768x469.png 768w\" sizes=\"auto, (max-width: 938px) 100vw, 938px\" \/><\/figure>\n\n\n\n<p>Front et per\u00e7ages<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1005\" height=\"585\" src=\"https:\/\/kev-it.fr\/wp-content\/uploads\/2025\/09\/image-4.png\" alt=\"\" class=\"wp-image-793\" srcset=\"https:\/\/kev-it.fr\/wp-content\/uploads\/2025\/09\/image-4.png 1005w, https:\/\/kev-it.fr\/wp-content\/uploads\/2025\/09\/image-4-300x175.png 300w, https:\/\/kev-it.fr\/wp-content\/uploads\/2025\/09\/image-4-768x447.png 768w\" sizes=\"auto, (max-width: 1005px) 100vw, 1005px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Gravure du circuit avec Candle<\/h3>\n\n\n\n<p><strong>Le premier point critique est calibrer la nouvelle position Home de la CNC en tenant compte du support de PCB install\u00e9 et des 1cm de d\u00e9calage du point 0,0 qui a \u00e9t\u00e9 d\u00e9finit dans KiCad !<\/strong><\/p>\n\n\n\n<p>Dans candle, on va commencer par cr\u00e9er une fonction custom qui va permettre la configuration automatique de l&rsquo;origine XY. Pour cela, on va dans le menu : Service &gt; Settings &gt; User Commands.<br>Et on ajoute une nouvelle commande:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$H ; Homing XYZ complet (machine)\nG90 ; Mode positionnement absolu\nG92 X0 Y0\nG0 X91.2 Y50.8 ; D\u00e9placement vers la position cible (j'ai ajout\u00e9 10mm en X et Y par rapport \u00e0 mes valeurs d'origine pour ne pas tomber dans le coin)\nG92 X0 Y0 ; D\u00e9finit cette position comme l\u2019origine XY des \"work coordinate\"<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"660\" src=\"https:\/\/kev-it.fr\/wp-content\/uploads\/2025\/08\/image-1024x660.png\" alt=\"\" class=\"wp-image-784\" srcset=\"https:\/\/kev-it.fr\/wp-content\/uploads\/2025\/08\/image-1024x660.png 1024w, https:\/\/kev-it.fr\/wp-content\/uploads\/2025\/08\/image-300x193.png 300w, https:\/\/kev-it.fr\/wp-content\/uploads\/2025\/08\/image-768x495.png 768w, https:\/\/kev-it.fr\/wp-content\/uploads\/2025\/08\/image-1536x990.png 1536w, https:\/\/kev-it.fr\/wp-content\/uploads\/2025\/08\/image.png 1789w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>On peut alors fixer le PCB et lancer le Homing de la CNC avec cette nouvelle fonction.<\/p>\n\n\n\n<p>Ensuite on va charger le Gcode de la face \u00ab\u00a0Back\u00a0\u00bb et faire la Heatmap, puis lancer la gravure des pistes de la face \u00ab\u00a0Back\u00a0\u00bb. Ne rien graver d&rsquo;autre pour l&rsquo;instant.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Retourner le PCB et finir la gravure<\/h3>\n\n\n\n<p>Retourner le PCB en pla\u00e7ant le coin au fond \u00e0 gauche de la CNC au bord \u00e0 gauche. Cela revient \u00e0 retourner le PCB en suivant l&rsquo;axe X de la CNC. Pour ma part, c&rsquo;est le coin au bord \u00e0 gauche qui sert de r\u00e9f\u00e9rentiel.<\/p>\n\n\n\n<p>Maintenant, on peut faire la heatmap de la face \u00ab\u00a0Front\u00a0\u00bb puis lancer successivement :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>les pistes de la face \u00ab\u00a0Front\u00a0\u00bb<\/li>\n\n\n\n<li>les trous NPTH<\/li>\n\n\n\n<li>les trous PTH<\/li>\n\n\n\n<li>le contour du PCB (Edge)<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p>Voici la m\u00e9thode que j&rsquo;utilise pour r\u00e9aliser les PCB double face. En synth\u00e8se :<\/p>\n\n\n\n<p>Avantages:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ne n\u00e9cessite pas d&rsquo;actions complexes sur la CNC<\/li>\n\n\n\n<li>R\u00e9sultats rapides et reproductibles<\/li>\n\n\n\n<li>Pas d&rsquo;usure pr\u00e9matur\u00e9e des planches martyr<\/li>\n<\/ul>\n\n\n\n<p>Inconv\u00e9nients:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Premier \u00e9talonnage laborieux pour trouver l&rsquo;origine du PCB<\/li>\n\n\n\n<li>N\u00e9cessite une prise en compte des contraintes d&rsquo;origine \u00e0 toutes les \u00e9tapes\n<ul class=\"wp-block-list\">\n<li>Placement de l&rsquo;origine dans Kicad et du contour du PCB source (pour le retournement)<\/li>\n\n\n\n<li>Actions sp\u00e9cifiques dans Flatcam pour retourner la face back<\/li>\n\n\n\n<li>Besoin d&rsquo;un support fixe sur la CNC<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Apr\u00e8s plusieurs mois fabriquer des PCB, j&rsquo;ai enfin franchi un cap : la cr\u00e9ation de PCB double face ! Pour tout vous dire, c&rsquo;est pas vraiment compliqu\u00e9, mais \u00e7a reste quand m\u00eame un peu tricky \ud83d\ude09Ce qui est important c&rsquo;est de d\u00e9finir un processus de production &#8230; et de s&rsquo;y tenir. Disclaimer : Je d\u00e9cris [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[13],"tags":[54,53,48,47],"class_list":["post-781","post","type-post","status-publish","format-standard","hentry","category-electronique","tag-candle","tag-cnc3018","tag-flatcam","tag-kicad"],"_links":{"self":[{"href":"https:\/\/kev-it.fr\/index.php\/wp-json\/wp\/v2\/posts\/781","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kev-it.fr\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kev-it.fr\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kev-it.fr\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kev-it.fr\/index.php\/wp-json\/wp\/v2\/comments?post=781"}],"version-history":[{"count":7,"href":"https:\/\/kev-it.fr\/index.php\/wp-json\/wp\/v2\/posts\/781\/revisions"}],"predecessor-version":[{"id":807,"href":"https:\/\/kev-it.fr\/index.php\/wp-json\/wp\/v2\/posts\/781\/revisions\/807"}],"wp:attachment":[{"href":"https:\/\/kev-it.fr\/index.php\/wp-json\/wp\/v2\/media?parent=781"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kev-it.fr\/index.php\/wp-json\/wp\/v2\/categories?post=781"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kev-it.fr\/index.php\/wp-json\/wp\/v2\/tags?post=781"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}