{"id":10376,"date":"2026-06-01T14:40:28","date_gmt":"2026-06-01T11:40:28","guid":{"rendered":"https:\/\/teamsolaris.com\/?p=10376"},"modified":"2026-06-01T20:14:25","modified_gmt":"2026-06-01T17:14:25","slug":"the-ultimate-guide-to-flawless-double-sided-pcbs-on-snapmaker-3-in-1-machines","status":"publish","type":"post","link":"https:\/\/teamsolaris.com\/tr\/technical\/the-ultimate-guide-to-flawless-double-sided-pcbs-on-snapmaker-3-in-1-machines\/","title":{"rendered":"The Ultimate Guide to Flawless Double-Sided PCBs on Snapmaker 3-in-1 Machines"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Creating professional-quality double-sided PCBs at home is a challenging but rewarding process. In this guide, we will walk you through a hybrid workflow using the Snapmaker\u2019s Laser and CNC modules. By combining laser ablation for trace isolation and CNC milling for drilling, you can achieve high-precision prototypes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This guide is intended for advanced hobbyists and engineers using the Snapmaker Laser + CNC modules who want reliable double-sided PCB prototypes without professional fabrication.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You can check our Instagram video here: <a href=\"https:\/\/www.instagram.com\/reel\/DS2gwU-jGgf\/?utm_source=ig_web_copy_link&amp;igsh=MzRlODBiNWFlZA==\" target=\"_blank\" rel=\"noopener\" title=\"\">Solar Team Solaris &#8211; Snapmaker 3-in-1 | Double Sided PCB Shorts<\/a><\/p>\n\n\n\n<blockquote class=\"instagram-media\" data-instgrm-permalink=\"https:\/\/www.instagram.com\/reel\/DS2gwU-jGgf\/?utm_source=ig_embed&#038;utm_campaign=loading\" data-instgrm-version=\"14\" style=\" background:#FFF; border:0; border-radius:3px; box-shadow:0 0 1px 0 rgba(0,0,0,0.5),0 1px 10px 0 rgba(0,0,0,0.15); margin: 1px; max-width:658px; min-width:326px; padding:0; width:99.375%; width:-webkit-calc(100% - 2px); width:calc(100% - 2px);\"><div style=\"padding:16px;\"> <a href=\"https:\/\/www.instagram.com\/reel\/DS2gwU-jGgf\/?utm_source=ig_embed&#038;utm_campaign=loading\" style=\" background:#FFFFFF; line-height:0; padding:0 0; text-align:center; text-decoration:none; width:100%;\" target=\"_blank\"> <div style=\" display: flex; flex-direction: row; align-items: center;\"> <div style=\"background-color: #F4F4F4; border-radius: 50%; flex-grow: 0; height: 40px; margin-right: 14px; width: 40px;\"><\/div> <div style=\"display: flex; flex-direction: column; flex-grow: 1; justify-content: center;\"> <div style=\" background-color: #F4F4F4; border-radius: 4px; flex-grow: 0; height: 14px; margin-bottom: 6px; width: 100px;\"><\/div> <div style=\" background-color: #F4F4F4; border-radius: 4px; flex-grow: 0; height: 14px; width: 60px;\"><\/div><\/div><\/div><div style=\"padding: 19% 0;\"><\/div> <div style=\"display:block; height:50px; margin:0 auto 12px; width:50px;\"><svg width=\"50px\" height=\"50px\" viewBox=\"0 0 60 60\" version=\"1.1\" xmlns=\"https:\/\/www.w3.org\/2000\/svg\" xmlns:xlink=\"https:\/\/www.w3.org\/1999\/xlink\"><g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\"><g transform=\"translate(-511.000000, -20.000000)\" fill=\"#000000\"><g><path d=\"M556.869,30.41 C554.814,30.41 553.148,32.076 553.148,34.131 C553.148,36.186 554.814,37.852 556.869,37.852 C558.924,37.852 560.59,36.186 560.59,34.131 C560.59,32.076 558.924,30.41 556.869,30.41 M541,60.657 C535.114,60.657 530.342,55.887 530.342,50 C530.342,44.114 535.114,39.342 541,39.342 C546.887,39.342 551.658,44.114 551.658,50 C551.658,55.887 546.887,60.657 541,60.657 M541,33.886 C532.1,33.886 524.886,41.1 524.886,50 C524.886,58.899 532.1,66.113 541,66.113 C549.9,66.113 557.115,58.899 557.115,50 C557.115,41.1 549.9,33.886 541,33.886 M565.378,62.101 C565.244,65.022 564.756,66.606 564.346,67.663 C563.803,69.06 563.154,70.057 562.106,71.106 C561.058,72.155 560.06,72.803 558.662,73.347 C557.607,73.757 556.021,74.244 553.102,74.378 C549.944,74.521 548.997,74.552 541,74.552 C533.003,74.552 532.056,74.521 528.898,74.378 C525.979,74.244 524.393,73.757 523.338,73.347 C521.94,72.803 520.942,72.155 519.894,71.106 C518.846,70.057 518.197,69.06 517.654,67.663 C517.244,66.606 516.755,65.022 516.623,62.101 C516.479,58.943 516.448,57.996 516.448,50 C516.448,42.003 516.479,41.056 516.623,37.899 C516.755,34.978 517.244,33.391 517.654,32.338 C518.197,30.938 518.846,29.942 519.894,28.894 C520.942,27.846 521.94,27.196 523.338,26.654 C524.393,26.244 525.979,25.756 528.898,25.623 C532.057,25.479 533.004,25.448 541,25.448 C548.997,25.448 549.943,25.479 553.102,25.623 C556.021,25.756 557.607,26.244 558.662,26.654 C560.06,27.196 561.058,27.846 562.106,28.894 C563.154,29.942 563.803,30.938 564.346,32.338 C564.756,33.391 565.244,34.978 565.378,37.899 C565.522,41.056 565.552,42.003 565.552,50 C565.552,57.996 565.522,58.943 565.378,62.101 M570.82,37.631 C570.674,34.438 570.167,32.258 569.425,30.349 C568.659,28.377 567.633,26.702 565.965,25.035 C564.297,23.368 562.623,22.342 560.652,21.575 C558.743,20.834 556.562,20.326 553.369,20.18 C550.169,20.033 549.148,20 541,20 C532.853,20 531.831,20.033 528.631,20.18 C525.438,20.326 523.257,20.834 521.349,21.575 C519.376,22.342 517.703,23.368 516.035,25.035 C514.368,26.702 513.342,28.377 512.574,30.349 C511.834,32.258 511.326,34.438 511.181,37.631 C511.035,40.831 511,41.851 511,50 C511,58.147 511.035,59.17 511.181,62.369 C511.326,65.562 511.834,67.743 512.574,69.651 C513.342,71.625 514.368,73.296 516.035,74.965 C517.703,76.634 519.376,77.658 521.349,78.425 C523.257,79.167 525.438,79.673 528.631,79.82 C531.831,79.965 532.853,80.001 541,80.001 C549.148,80.001 550.169,79.965 553.369,79.82 C556.562,79.673 558.743,79.167 560.652,78.425 C562.623,77.658 564.297,76.634 565.965,74.965 C567.633,73.296 568.659,71.625 569.425,69.651 C570.167,67.743 570.674,65.562 570.82,62.369 C570.966,59.17 571,58.147 571,50 C571,41.851 570.966,40.831 570.82,37.631\"><\/path><\/g><\/g><\/g><\/svg><\/div><div style=\"padding-top: 8px;\"> <div style=\" color:#3897f0; font-family:Arial,sans-serif; font-size:14px; font-style:normal; font-weight:550; line-height:18px;\">View this post on Instagram<\/div><\/div><div style=\"padding: 12.5% 0;\"><\/div> <div style=\"display: flex; flex-direction: row; margin-bottom: 14px; align-items: center;\"><div> <div style=\"background-color: #F4F4F4; border-radius: 50%; height: 12.5px; width: 12.5px; transform: translateX(0px) translateY(7px);\"><\/div> <div style=\"background-color: #F4F4F4; height: 12.5px; transform: rotate(-45deg) translateX(3px) translateY(1px); width: 12.5px; flex-grow: 0; margin-right: 14px; margin-left: 2px;\"><\/div> <div style=\"background-color: #F4F4F4; border-radius: 50%; height: 12.5px; width: 12.5px; transform: translateX(9px) translateY(-18px);\"><\/div><\/div><div style=\"margin-left: 8px;\"> <div style=\" background-color: #F4F4F4; border-radius: 50%; flex-grow: 0; height: 20px; width: 20px;\"><\/div> <div style=\" width: 0; height: 0; border-top: 2px solid transparent; border-left: 6px solid #f4f4f4; border-bottom: 2px solid transparent; transform: translateX(16px) translateY(-4px) rotate(30deg)\"><\/div><\/div><div style=\"margin-left: auto;\"> <div style=\" width: 0px; border-top: 8px solid #F4F4F4; border-right: 8px solid transparent; transform: translateY(16px);\"><\/div> <div style=\" background-color: #F4F4F4; flex-grow: 0; height: 12px; width: 16px; transform: translateY(-4px);\"><\/div> <div style=\" width: 0; height: 0; border-top: 8px solid #F4F4F4; border-left: 8px solid transparent; transform: translateY(-4px) translateX(8px);\"><\/div><\/div><\/div> <div style=\"display: flex; flex-direction: column; flex-grow: 1; justify-content: center; margin-bottom: 24px;\"> <div style=\" background-color: #F4F4F4; border-radius: 4px; flex-grow: 0; height: 14px; margin-bottom: 6px; width: 224px;\"><\/div> <div style=\" background-color: #F4F4F4; border-radius: 4px; flex-grow: 0; height: 14px; width: 144px;\"><\/div><\/div><\/a><\/div><\/blockquote>\n<script async onerror=\"var a=document.createElement('script');a.src='https:\/\/iframely.net\/files\/instagram_embed.js';document.body.appendChild(a);\" src=\"https:\/\/www.instagram.com\/embed.js\"><\/script>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<div class=\"root-eb-toc-xyf64 wp-block-essential-blocks-table-of-contents\"><div class=\"eb-parent-wrapper eb-parent-eb-toc-xyf64 \"><div class=\"eb-toc-container eb-toc-xyf64  eb-toc-is-not-sticky eb-toc-not-collapsible eb-toc-initially-not-collapsed eb-toc-scrollToTop style-1 list-style-none\" data-scroll-top=\"false\" data-scroll-top-icon=\"fas fa-angle-up\" data-collapsible=\"false\" data-sticky-hide-mobile=\"false\" data-sticky=\"false\" data-scroll-target=\"scroll_to_toc\" data-copy-link=\"false\" data-editor-type=\"\" data-hide-desktop=\"false\" data-hide-tab=\"false\" data-hide-mobile=\"false\" data-itemcollapsed=\"false\" data-highlight-scroll=\"false\"><div class=\"eb-toc-header\"><h2 class=\"eb-toc-title\">Table of Contents<\/h2><\/div><div class=\"eb-toc-wrapper \" data-headers=\"[{&quot;level&quot;:2,&quot;content&quot;:&quot;Credits &amp; Prerequisites&quot;,&quot;text&quot;:&quot;Credits &amp; Prerequisites&quot;,&quot;link&quot;:&quot;credits-prerequisites&quot;},{&quot;level&quot;:3,&quot;content&quot;:&quot;Hardware &amp; Consumables:&quot;,&quot;text&quot;:&quot;Hardware &amp; Consumables:&quot;,&quot;link&quot;:&quot;hardware-consumables&quot;},{&quot;level&quot;:3,&quot;content&quot;:&quot;Software:&quot;,&quot;text&quot;:&quot;Software:&quot;,&quot;link&quot;:&quot;software&quot;},{&quot;level&quot;:2,&quot;content&quot;:&quot;Tested Devices &amp; Hardware Compatibility&quot;,&quot;text&quot;:&quot;Tested Devices &amp; Hardware Compatibility&quot;,&quot;link&quot;:&quot;tested-devices-hardware-compatibility&quot;},{&quot;level&quot;:2,&quot;content&quot;:&quot;General Safety &amp; Etching Warnings&quot;,&quot;text&quot;:&quot;General Safety &amp; Etching Warnings&quot;,&quot;link&quot;:&quot;general-safety-etching-warnings&quot;},{&quot;level&quot;:3,&quot;content&quot;:&quot;Safety First&quot;,&quot;text&quot;:&quot;Safety First&quot;,&quot;link&quot;:&quot;safety-first&quot;},{&quot;level&quot;:3,&quot;content&quot;:&quot;Chemical Handling Warning&quot;,&quot;text&quot;:&quot;Chemical Handling Warning&quot;,&quot;link&quot;:&quot;chemical-handling-warning&quot;},{&quot;level&quot;:2,&quot;content&quot;:&quot;Step 1: Material Preparation&quot;,&quot;text&quot;:&quot;Step 1: Material Preparation&quot;,&quot;link&quot;:&quot;step-1-material-preparation&quot;},{&quot;level&quot;:2,&quot;content&quot;:&quot;Step 2: Circuit Design &amp; Export&quot;,&quot;text&quot;:&quot;Step 2: Circuit Design &amp; Export&quot;,&quot;link&quot;:&quot;step-2-circuit-design-export&quot;},{&quot;level&quot;:3,&quot;content&quot;:&quot;Exporting Files&quot;,&quot;text&quot;:&quot;Exporting Files&quot;,&quot;link&quot;:&quot;exporting-files&quot;},{&quot;level&quot;:2,&quot;content&quot;:&quot;Step 3: FlatCAM Processing&quot;,&quot;text&quot;:&quot;Step 3: FlatCAM Processing&quot;,&quot;link&quot;:&quot;step-3-flatcam-processing&quot;},{&quot;level&quot;:3,&quot;content&quot;:&quot;Setting the Boundary Area&quot;,&quot;text&quot;:&quot;Setting the Boundary Area&quot;,&quot;link&quot;:&quot;setting-the-boundary-area&quot;},{&quot;level&quot;:2,&quot;content&quot;:&quot;Step 4: Mirroring the Bottom Layer&quot;,&quot;text&quot;:&quot;Step 4: Mirroring the Bottom Layer&quot;,&quot;link&quot;:&quot;step-4-mirroring-the-bottom-layer&quot;},{&quot;level&quot;:2,&quot;content&quot;:&quot;Step 5: Generating Laser G-Code (Isolation)&quot;,&quot;text&quot;:&quot;Step 5: Generating Laser G-Code (Isolation)&quot;,&quot;link&quot;:&quot;step-5-generating-laser-g-code-isolation&quot;},{&quot;level&quot;:3,&quot;content&quot;:&quot;Top (Front) Copper&quot;,&quot;text&quot;:&quot;Top (Front) Copper&quot;,&quot;link&quot;:&quot;top-front-copper&quot;},{&quot;level&quot;:2,&quot;content&quot;:&quot;Step 6: Preparing the Front and Bottom Copper Gcodes for the Laser Engraving&quot;,&quot;text&quot;:&quot;Step 6: Preparing the Front and Bottom Copper Gcodes for the Laser Engraving&quot;,&quot;link&quot;:&quot;step-6-preparing-the-front-and-bottom-copper-gcodes-for-the-laser-engraving&quot;},{&quot;level&quot;:2,&quot;content&quot;:&quot;Step 7: PCB Cutout and Drilling-Milling Design&quot;,&quot;text&quot;:&quot;Step 7: PCB Cutout and Drilling-Milling Design&quot;,&quot;link&quot;:&quot;step-7-pcb-cutout-and-drilling-milling-design&quot;},{&quot;level&quot;:3,&quot;content&quot;:&quot;Cutout&quot;,&quot;text&quot;:&quot;Cutout&quot;,&quot;link&quot;:&quot;cutout&quot;},{&quot;level&quot;:2,&quot;content&quot;:&quot;Step 8: Drilling and Milling&quot;,&quot;text&quot;:&quot;Step 8: Drilling and Milling&quot;,&quot;link&quot;:&quot;step-8-drilling-and-milling&quot;},{&quot;level&quot;:3,&quot;content&quot;:&quot;Vias&quot;,&quot;text&quot;:&quot;Vias&quot;,&quot;link&quot;:&quot;vias&quot;},{&quot;level&quot;:3,&quot;content&quot;:&quot;Drilling the Holes&quot;,&quot;text&quot;:&quot;Drilling the Holes&quot;,&quot;link&quot;:&quot;drilling-the-holes&quot;},{&quot;level&quot;:3,&quot;content&quot;:&quot;Milling the Bigger Holes&quot;,&quot;text&quot;:&quot;Milling the Bigger Holes&quot;,&quot;link&quot;:&quot;milling-the-bigger-holes&quot;},{&quot;level&quot;:2,&quot;content&quot;:&quot;Step 9: Laser Ablation on the Snapmaker&quot;,&quot;text&quot;:&quot;Step 9: Laser Ablation on the Snapmaker&quot;,&quot;link&quot;:&quot;step-9-laser-ablation-on-the-snapmaker&quot;},{&quot;level&quot;:3,&quot;content&quot;:&quot;Workflow&quot;,&quot;text&quot;:&quot;Workflow&quot;,&quot;link&quot;:&quot;workflow&quot;},{&quot;level&quot;:2,&quot;content&quot;:&quot;Step 10: Chemical Etching&quot;,&quot;text&quot;:&quot;Step 10: Chemical Etching&quot;,&quot;link&quot;:&quot;step-10-chemical-etching&quot;},{&quot;level&quot;:3,&quot;content&quot;:&quot;The Etchant&quot;,&quot;text&quot;:&quot;The Etchant&quot;,&quot;link&quot;:&quot;the-etchant&quot;},{&quot;level&quot;:3,&quot;content&quot;:&quot;Process&quot;,&quot;text&quot;:&quot;Process&quot;,&quot;link&quot;:&quot;process&quot;},{&quot;level&quot;:3,&quot;content&quot;:&quot;Result of Etching&quot;,&quot;text&quot;:&quot;Result of Etching&quot;,&quot;link&quot;:&quot;result-of-etching&quot;},{&quot;level&quot;:2,&quot;content&quot;:&quot;Step 11: Paint Removal&quot;,&quot;text&quot;:&quot;Step 11: Paint Removal&quot;,&quot;link&quot;:&quot;step-11-paint-removal&quot;},{&quot;level&quot;:2,&quot;content&quot;:&quot;Step 12: CNC Drilling &amp; Alignment&quot;,&quot;text&quot;:&quot;Step 12: CNC Drilling &amp; Alignment&quot;,&quot;link&quot;:&quot;step-12-cnc-drilling-alignment&quot;},{&quot;level&quot;:3,&quot;content&quot;:&quot;Re-Alignment&quot;,&quot;text&quot;:&quot;Re-Alignment&quot;,&quot;link&quot;:&quot;re-alignment&quot;},{&quot;level&quot;:3,&quot;content&quot;:&quot;Finding Zero&quot;,&quot;text&quot;:&quot;Finding Zero&quot;,&quot;link&quot;:&quot;finding-zero&quot;},{&quot;level&quot;:2,&quot;content&quot;:&quot;Step 13: The PCB Mask and Laser Processing&quot;,&quot;text&quot;:&quot;Step 13: The PCB Mask and Laser Processing&quot;,&quot;link&quot;:&quot;step-13-the-pcb-mask-and-laser-processing&quot;},{&quot;level&quot;:2,&quot;content&quot;:&quot;Step 14: Cutting and Finishing&quot;,&quot;text&quot;:&quot;Step 14: Cutting and Finishing&quot;,&quot;link&quot;:&quot;step-14-cutting-and-finishing&quot;},{&quot;level&quot;:3,&quot;content&quot;:&quot;Cutting&quot;,&quot;text&quot;:&quot;Cutting&quot;,&quot;link&quot;:&quot;cutting&quot;},{&quot;level&quot;:3,&quot;content&quot;:&quot;Sanding&quot;,&quot;text&quot;:&quot;Sanding&quot;,&quot;link&quot;:&quot;sanding&quot;},{&quot;level&quot;:2,&quot;content&quot;:&quot;Final Result&quot;,&quot;text&quot;:&quot;Final Result&quot;,&quot;link&quot;:&quot;final-result&quot;}]\" data-visible=\"[true,true,true,true,true,true]\" data-delete-headers=\"[{&quot;label&quot;:&quot;Credits &amp; Prerequisites&quot;,&quot;value&quot;:&quot;credits-prerequisites&quot;,&quot;isDelete&quot;:false},{&quot;label&quot;:&quot;Hardware &amp; Consumables:&quot;,&quot;value&quot;:&quot;hardware-consumables&quot;,&quot;isDelete&quot;:false},{&quot;label&quot;:&quot;Software:&quot;,&quot;value&quot;:&quot;software&quot;,&quot;isDelete&quot;:false},{&quot;label&quot;:&quot;Tested Devices &amp; Hardware Compatibility&quot;,&quot;value&quot;:&quot;tested-devices-hardware-compatibility&quot;,&quot;isDelete&quot;:false},{&quot;label&quot;:&quot;General Safety &amp; Etching Warnings&quot;,&quot;value&quot;:&quot;general-safety-etching-warnings&quot;,&quot;isDelete&quot;:false},{&quot;label&quot;:&quot;Safety First&quot;,&quot;value&quot;:&quot;safety-first&quot;,&quot;isDelete&quot;:false},{&quot;label&quot;:&quot;Chemical Handling Warning&quot;,&quot;value&quot;:&quot;chemical-handling-warning&quot;,&quot;isDelete&quot;:false},{&quot;label&quot;:&quot;Step 1: Material Preparation&quot;,&quot;value&quot;:&quot;step-1-material-preparation&quot;,&quot;isDelete&quot;:false},{&quot;label&quot;:&quot;Step 2: Circuit Design &amp; Export&quot;,&quot;value&quot;:&quot;step-2-circuit-design-export&quot;,&quot;isDelete&quot;:false},{&quot;label&quot;:&quot;Exporting Files&quot;,&quot;value&quot;:&quot;exporting-files&quot;,&quot;isDelete&quot;:false},{&quot;label&quot;:&quot;Step 3: FlatCAM Processing&quot;,&quot;value&quot;:&quot;step-3-flatcam-processing&quot;,&quot;isDelete&quot;:false},{&quot;label&quot;:&quot;Setting the Boundary Area&quot;,&quot;value&quot;:&quot;setting-the-boundary-area&quot;,&quot;isDelete&quot;:false},{&quot;label&quot;:&quot;Step 4: Mirroring the Bottom Layer&quot;,&quot;value&quot;:&quot;step-4-mirroring-the-bottom-layer&quot;,&quot;isDelete&quot;:false},{&quot;label&quot;:&quot;Step 5: Generating Laser G-Code (Isolation)&quot;,&quot;value&quot;:&quot;step-5-generating-laser-g-code-isolation&quot;,&quot;isDelete&quot;:false},{&quot;label&quot;:&quot;Top (Front) Copper&quot;,&quot;value&quot;:&quot;top-front-copper&quot;,&quot;isDelete&quot;:false},{&quot;label&quot;:&quot;Step 6: Preparing the Front and Bottom Copper Gcodes for the Laser Engraving&quot;,&quot;value&quot;:&quot;step-6-preparing-the-front-and-bottom-copper-gcodes-for-the-laser-engraving&quot;,&quot;isDelete&quot;:false},{&quot;label&quot;:&quot;Step 7: PCB Cutout and Drilling-Milling Design&quot;,&quot;value&quot;:&quot;step-7-pcb-cutout-and-drilling-milling-design&quot;,&quot;isDelete&quot;:false},{&quot;label&quot;:&quot;Cutout&quot;,&quot;value&quot;:&quot;cutout&quot;,&quot;isDelete&quot;:false},{&quot;label&quot;:&quot;Step 8: Drilling and Milling&quot;,&quot;value&quot;:&quot;step-8-drilling-and-milling&quot;,&quot;isDelete&quot;:false},{&quot;label&quot;:&quot;Vias&quot;,&quot;value&quot;:&quot;vias&quot;,&quot;isDelete&quot;:false},{&quot;label&quot;:&quot;Drilling the Holes&quot;,&quot;value&quot;:&quot;drilling-the-holes&quot;,&quot;isDelete&quot;:false},{&quot;label&quot;:&quot;Milling the Bigger Holes&quot;,&quot;value&quot;:&quot;milling-the-bigger-holes&quot;,&quot;isDelete&quot;:false},{&quot;label&quot;:&quot;Step 9: Laser Ablation on the Snapmaker&quot;,&quot;value&quot;:&quot;step-9-laser-ablation-on-the-snapmaker&quot;,&quot;isDelete&quot;:false},{&quot;label&quot;:&quot;Workflow&quot;,&quot;value&quot;:&quot;workflow&quot;,&quot;isDelete&quot;:false},{&quot;label&quot;:&quot;Step 10: Chemical Etching&quot;,&quot;value&quot;:&quot;step-10-chemical-etching&quot;,&quot;isDelete&quot;:false},{&quot;label&quot;:&quot;The Etchant&quot;,&quot;value&quot;:&quot;the-etchant&quot;,&quot;isDelete&quot;:false},{&quot;label&quot;:&quot;Process&quot;,&quot;value&quot;:&quot;process&quot;,&quot;isDelete&quot;:false},{&quot;label&quot;:&quot;Result of Etching&quot;,&quot;value&quot;:&quot;result-of-etching&quot;,&quot;isDelete&quot;:false},{&quot;label&quot;:&quot;Step 11: Paint Removal&quot;,&quot;value&quot;:&quot;step-11-paint-removal&quot;,&quot;isDelete&quot;:false},{&quot;label&quot;:&quot;Step 12: CNC Drilling &amp; Alignment&quot;,&quot;value&quot;:&quot;step-12-cnc-drilling-alignment&quot;,&quot;isDelete&quot;:false},{&quot;label&quot;:&quot;Re-Alignment&quot;,&quot;value&quot;:&quot;re-alignment&quot;,&quot;isDelete&quot;:false},{&quot;label&quot;:&quot;Finding Zero&quot;,&quot;value&quot;:&quot;finding-zero&quot;,&quot;isDelete&quot;:false},{&quot;label&quot;:&quot;Step 13: The PCB Mask and Laser Processing&quot;,&quot;value&quot;:&quot;step-13-the-pcb-mask-and-laser-processing&quot;,&quot;isDelete&quot;:false},{&quot;label&quot;:&quot;Step 14: Cutting and Finishing&quot;,&quot;value&quot;:&quot;step-14-cutting-and-finishing&quot;,&quot;isDelete&quot;:false},{&quot;label&quot;:&quot;Cutting&quot;,&quot;value&quot;:&quot;cutting&quot;,&quot;isDelete&quot;:false},{&quot;label&quot;:&quot;Sanding&quot;,&quot;value&quot;:&quot;sanding&quot;,&quot;isDelete&quot;:false},{&quot;label&quot;:&quot;Final Result&quot;,&quot;value&quot;:&quot;final-result&quot;,&quot;isDelete&quot;:false}]\" data-smooth=\"true\" data-top-offset=\"\"><div class=\"eb-toc__list-wrap\"><ul class=\"eb-toc__list\"><li><a href=\"#credits-prerequisites\">Credits &amp; Prerequisites<\/a><ul class=\"eb-toc__list\"><li><a href=\"#hardware-consumables\">Hardware &amp; Consumables:<\/a><li><a href=\"#software\">Software:<\/a><\/li><\/ul><li><a href=\"#tested-devices-hardware-compatibility\">Tested Devices &amp; Hardware Compatibility<\/a><li><a href=\"#general-safety-etching-warnings\">General Safety &amp; Etching Warnings<\/a><ul class=\"eb-toc__list\"><li><a href=\"#safety-first\">Safety First<\/a><li><a href=\"#chemical-handling-warning\">Chemical Handling Warning<\/a><\/li><\/ul><li><a href=\"#step-1-material-preparation\">Step 1: Material Preparation<\/a><li><a href=\"#step-2-circuit-design-export\">Step 2: Circuit Design &amp; Export<\/a><ul class=\"eb-toc__list\"><li><a href=\"#exporting-files\">Exporting Files<\/a><\/li><\/ul><li><a href=\"#step-3-flatcam-processing\">Step 3: FlatCAM Processing<\/a><ul class=\"eb-toc__list\"><li><a href=\"#setting-the-boundary-area\">Setting the Boundary Area<\/a><\/li><\/ul><li><a href=\"#step-4-mirroring-the-bottom-layer\">Step 4: Mirroring the Bottom Layer<\/a><li><a href=\"#step-5-generating-laser-g-code-isolation\">Step 5: Generating Laser G-Code (Isolation)<\/a><ul class=\"eb-toc__list\"><li><a href=\"#top-front-copper\">Top (Front) Copper<\/a><\/li><\/ul><li><a href=\"#step-6-preparing-the-front-and-bottom-copper-gcodes-for-the-laser-engraving\">Step 6: Preparing the Front and Bottom Copper Gcodes for the Laser Engraving<\/a><li><a href=\"#step-7-pcb-cutout-and-drilling-milling-design\">Step 7: PCB Cutout and Drilling-Milling Design<\/a><ul class=\"eb-toc__list\"><li><a href=\"#cutout\">Cutout<\/a><\/li><\/ul><li><a href=\"#step-8-drilling-and-milling\">Step 8: Drilling and Milling<\/a><ul class=\"eb-toc__list\"><li><a href=\"#vias\">Vias<\/a><li><a href=\"#drilling-the-holes\">Drilling the Holes<\/a><li><a href=\"#milling-the-bigger-holes\">Milling the Bigger Holes<\/a><\/li><\/ul><li><a href=\"#step-9-laser-ablation-on-the-snapmaker\">Step 9: Laser Ablation on the Snapmaker<\/a><ul class=\"eb-toc__list\"><li><a href=\"#workflow\">Workflow<\/a><\/li><\/ul><li><a href=\"#step-10-chemical-etching\">Step 10: Chemical Etching<\/a><ul class=\"eb-toc__list\"><li><a href=\"#the-etchant\">The Etchant<\/a><li><a href=\"#process\">Process<\/a><li><a href=\"#result-of-etching\">Result of Etching<\/a><\/li><\/ul><li><a href=\"#step-11-paint-removal\">Step 11: Paint Removal<\/a><li><a href=\"#step-12-cnc-drilling-alignment\">Step 12: CNC Drilling &amp; Alignment<\/a><ul class=\"eb-toc__list\"><li><a href=\"#re-alignment\">Re-Alignment<\/a><li><a href=\"#finding-zero\">Finding Zero<\/a><\/li><\/ul><li><a href=\"#step-13-the-pcb-mask-and-laser-processing\">Step 13: The PCB Mask and Laser Processing<\/a><li><a href=\"#step-14-cutting-and-finishing\">Step 14: Cutting and Finishing<\/a><ul class=\"eb-toc__list\"><li><a href=\"#cutting\">Cutting<\/a><li><a href=\"#sanding\">Sanding<\/a><\/li><\/ul><li><a href=\"#final-result\">Final Result<\/a><\/ul><\/div><\/div><\/div><\/div><\/div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Credits &amp; Prerequisites<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A huge thanks to Ozan Karaca for the UART to CAN-Bus design used in this walkthrough. We also want to express our gratitude to <a href=\"https:\/\/www.snapmaker.com\" target=\"_blank\" rel=\"noopener sponsored\" title=\"\"><strong>Snapmaker<\/strong> <\/a>for their generous <a href=\"https:\/\/teamsolaris.com\/s14-period\/\" target=\"_blank\" rel=\"noopener\" title=\"\">sponsorship<\/a> and for providing the hybrid 3-in-1 manufacturing ecosystem that makes this kind of rapid, high-precision prototyping possible for our team.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Before diving in, make sure you have the following hardware, software, and safety gear ready to go:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Hardware &amp; Consumables:<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Standard double-sided copper-clad board <\/li>\n\n\n\n<li>Fawori black matte acrylic spray paint <\/li>\n\n\n\n<li>Ferric Chloride (FeCl3) etchant <\/li>\n\n\n\n<li>Polyester resin cleaner solvent or Isopropyl Alcohol (IPA) <\/li>\n\n\n\n<li>High-grit sandpaper <\/li>\n\n\n\n<li>Green UV solder mask <\/li>\n\n\n\n<li>Double-sided tape <\/li>\n\n\n\n<li>Snapmaker CNC Bits: 1.5mm flat end mill, 0.5mm drill bit, 3.2mm flat end mill <\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Software:<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>KiCad (for circuit design and Gerber export) <\/li>\n\n\n\n<li>Gerbv (gEDA&#8217;s Gerber Viewer) <\/li>\n\n\n\n<li>FlatCAM version 8.994 (for toolpath generation). To download the same version of it, <a href=\"http:\/\/teamsolaris.com\/wp-content\/flatcam\/FlatCAM_beta_8.994_x64_installer.zip\" target=\"_blank\" rel=\"noopener\" title=\"\">click here.<\/a><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Tested Devices &amp; Hardware Compatibility<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">This specific guide and the parameters shown in the screenshots were developed and tested using the <strong>Snapmaker Artisan Premium<\/strong> equipped with the <strong>40W Laser Module<\/strong> and the standard CNC module.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">However, this workflow is highly adaptable. We have successfully used and we are repeatedly using this exact process on the <strong>Snapmaker 2.0<\/strong> equipped with the <strong>10W Laser Module<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Note for 10W\/20W Users:<\/em> If you are following along with a lower-wattage laser module, remember that you will need to scale your laser power settings (or adjust your passes\/feedrate) accordingly during the ablation steps to ensure the black paint is fully removed.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">General Safety &amp; Etching Warnings<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Safety First<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">This workflow utilizes highly corrosive chemicals and powerful laser ablation. Always operate the Snapmaker within its protective enclosure to shield your eyes from scattered laser radiation and to properly vent the toxic fumes generated when burning away the acrylic paint.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Chemical Handling Warning<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ferric Chloride is highly corrosive and will stain skin, clothes, and surfaces permanently. Always wear nitrile gloves and safety goggles during this step. Perform the etching in a well-ventilated area. <strong>Never<\/strong> pour used Ferric Chloride down the sink, as it will destroy your plumbing; store it in a sealed, clearly labeled plastic container and take it to a hazardous waste disposal facility.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Step 1:<\/strong> Material Preparation<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">To begin with, source a standard double-sided copper-clad board. You will also need a can of black matte acrylic spray paint:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img fetchpriority=\"high\" decoding=\"async\" width=\"940\" height=\"529\" src=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image.png\" alt=\"\" class=\"wp-image-10377\" srcset=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image.png 940w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-768x432.png 768w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-18x10.png 18w\" sizes=\"(max-width: 940px) 100vw, 940px\" \/><figcaption class=\"wp-element-caption\">Figure 1: Start with a clean double-sided copper board. (A raw, unpainted double-sided copper-clad PCB board placed on a green cutting mat.)<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Next, apply two even coats of matte acrylic spray to both sides of the PCB. Ensure the paint is fully dried before proceeding; this layer will act as our etch resist during the laser process.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"979\" height=\"551\" data-src=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-1.png\" alt=\"\" class=\"wp-image-10378 lazyload\" data-srcset=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-1.png 979w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-1-768x432.png 768w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-1-18x10.png 18w\" data-sizes=\"(max-width: 979px) 100vw, 979px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 979px; --smush-placeholder-aspect-ratio: 979\/551;\" \/><figcaption class=\"wp-element-caption\">Figure 2: A can of Fawori black matte acrylic spray paint used for coating the PCB.<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Then, apply two even coats of the matte acrylic spray to both sides of the PCB. Ensure the paint is fully dried before proceeding; this layer will act as our etch resist during the laser process:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"940\" height=\"529\" data-src=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-2.png\" alt=\"\" class=\"wp-image-10379 lazyload\" data-srcset=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-2.png 940w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-2-768x432.png 768w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-2-18x10.png 18w\" data-sizes=\"(max-width: 940px) 100vw, 940px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 940px; --smush-placeholder-aspect-ratio: 940\/529;\" \/><figcaption class=\"wp-element-caption\">Figure 3: Ensure the paint is matte to absorb the laser energy efficiently.<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Hence the result, fully dried PCB:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"940\" height=\"529\" data-src=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-3.png\" alt=\"\" class=\"wp-image-10380 lazyload\" data-srcset=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-3.png 940w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-3-768x432.png 768w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-3-18x10.png 18w\" data-sizes=\"(max-width: 940px) 100vw, 940px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 940px; --smush-placeholder-aspect-ratio: 940\/529;\" \/><figcaption class=\"wp-element-caption\">Figure 4: The copper board fully coated with a layer of dried black matte paint.<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Step 2:<\/strong> Circuit Design &amp; Export<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">First, we designed our circuit schematic and layout using KiCad:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"940\" height=\"529\" data-src=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-4.png\" alt=\"\" class=\"wp-image-10381 lazyload\" data-srcset=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-4.png 940w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-4-768x432.png 768w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-4-18x10.png 18w\" data-sizes=\"(max-width: 940px) 100vw, 940px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 940px; --smush-placeholder-aspect-ratio: 940\/529;\" \/><figcaption class=\"wp-element-caption\">Figure 5: Designing the PCB layout in KiCad. &nbsp;(The KiCad PCB layout editor showing the routed traces for the project.)<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Next, Kicad layout design:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"485\" height=\"269\" data-src=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-5-edited.png\" alt=\"\" class=\"wp-image-10462 lazyload\" data-srcset=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-5-edited.png 485w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-5-edited-18x10.png 18w\" data-sizes=\"(max-width: 485px) 100vw, 485px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 485px; --smush-placeholder-aspect-ratio: 485\/269;\" \/><figcaption class=\"wp-element-caption\">Figure 6: The KiCad PCB layout editor showing the routed traces for the project.<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For this workflow, we recommend the following design rules to ensure compatibility with standard CNC bits:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Minimum Trace Width: 0.254 mm<\/li>\n\n\n\n<li>Clearance\/Spacing: 0.2 mm<\/li>\n\n\n\n<li>Via Diameter: 0.5 mm<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Exporting Files<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">When exporting your Gerbers, use the standard manufacturing settings:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"940\" height=\"390\" data-src=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-6.png\" alt=\"\" class=\"wp-image-10384 lazyload\" data-srcset=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-6.png 940w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-6-768x319.png 768w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-6-18x7.png 18w\" data-sizes=\"(max-width: 940px) 100vw, 940px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 940px; --smush-placeholder-aspect-ratio: 940\/390;\" \/><figcaption class=\"wp-element-caption\">Figure 7: The &#8220;Generate Drill Files&#8221; dialog box in KiCad.<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Exported files are:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"768\" height=\"233\" data-src=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-7.png\" alt=\"\" class=\"wp-image-10385 lazyload\" data-srcset=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-7.png 768w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-7-18x5.png 18w\" data-sizes=\"(max-width: 768px) 100vw, 768px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 768px; --smush-placeholder-aspect-ratio: 768\/233;\" \/><figcaption class=\"wp-element-caption\">Figure 8: A file explorer window listing the exported Gerber (.gbr) and Drill (.drl) files.<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>CRITICAL STEP:<\/strong> The default KiCad Excellon drill file format may not import correctly into FlatCAM. You must open your KiCad Excellon (<code>.drl<\/code>) file in <strong>Gerbv<\/strong> first, and then immediately re-export it. If FlatCAM crashes later during the milling setup, it is usually because this step was skipped.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"553\" height=\"377\" data-src=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-8.png\" alt=\"\" class=\"wp-image-10386 lazyload\" data-srcset=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-8.png 553w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-8-18x12.png 18w\" data-sizes=\"(max-width: 553px) 100vw, 553px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 553px; --smush-placeholder-aspect-ratio: 553\/377;\" \/><figcaption class=\"wp-element-caption\">Figure 9: The &#8220;Gerbv&#8221; (Gerber Viewer) interface used to convert the Drill file.<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Export option in the GerbV program:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"938\" height=\"505\" data-src=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-9.png\" alt=\"\" class=\"wp-image-10387 lazyload\" data-srcset=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-9.png 938w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-9-768x413.png 768w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-9-18x10.png 18w\" data-sizes=\"(max-width: 938px) 100vw, 938px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 938px; --smush-placeholder-aspect-ratio: 938\/505;\" \/><figcaption class=\"wp-element-caption\">Figure 10: Viewing the drill holes in Gerbv to ensure correct import.<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Step 3: <\/strong>FlatCAM Processing<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">In FlatCAM, switch the interface from &#8220;Basic&#8221; to &#8220;Advanced&#8221; in the preferences menu to access full control. Import all your Gerber layers and the re-exported Excellon drill file:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"859\" height=\"462\" data-src=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-10.png\" alt=\"\" class=\"wp-image-10388 lazyload\" data-srcset=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-10.png 859w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-10-768x413.png 768w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-10-18x10.png 18w\" data-sizes=\"(max-width: 859px) 100vw, 859px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 859px; --smush-placeholder-aspect-ratio: 859\/462;\" \/><figcaption class=\"wp-element-caption\">Figure 11: The FlatCAM interface showing the imported PCB design files with green and blue traces.<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><br>Draw a rectangle around your PCB design to define the board dimensions (For our PCB board, 100mm x 70mm). This boundary is crucial as it serves as the reference axis for mirroring the bottom layer later. (You need to do this with your PCB design software.)<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"726\" height=\"554\" data-src=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-11.png\" alt=\"\" class=\"wp-image-10389 lazyload\" data-srcset=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-11.png 726w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-11-16x12.png 16w\" data-sizes=\"(max-width: 726px) 100vw, 726px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 726px; --smush-placeholder-aspect-ratio: 726\/554;\" \/><figcaption class=\"wp-element-caption\">Figure 12: This boundary rectangle is essential for alignment. (A specialized Gerber Viewer showing the User.1 layer used as a boundary rectangle.)<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Setting the Boundary Area<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Of course, we add our new gerber file to the FlatCAM project. We select everything then move to the origin under the \u201cEdit\u201d tab:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"940\" height=\"505\" data-src=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-12.png\" alt=\"\" class=\"wp-image-10390 lazyload\" data-srcset=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-12.png 940w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-12-768x413.png 768w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-12-18x10.png 18w\" data-sizes=\"(max-width: 940px) 100vw, 940px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 940px; --smush-placeholder-aspect-ratio: 940\/505;\" \/><figcaption class=\"wp-element-caption\">Figure 13: The selection of the PCB design within FlatCAM, getting ready for moving or mirroring.<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Step 4: <\/strong>Mirroring the Bottom Layer<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">We have the normal Gerber View of the design as:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"754\" height=\"576\" data-src=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-13.png\" alt=\"\" class=\"wp-image-10391 lazyload\" data-srcset=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-13.png 754w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-13-16x12.png 16w\" data-sizes=\"(max-width: 754px) 100vw, 754px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 754px; --smush-placeholder-aspect-ratio: 754\/576;\" \/><figcaption class=\"wp-element-caption\">Figure 14: A close-up of the PCB layout in FlatCAM with red and cyan layers visible.<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Open the 2-Sided PCB Tool in FlatCAM. Set the bottom copper Gerber file as the Source Object. Next, select the boundary rectangle on the canvas to define your reference area and click the Calculate Bounds Values button. Once the coordinates are set, choose the Y-axis and click Mirror Object to flip the design horizontally. This ensures the bottom traces align correctly when you flip the physical board.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"863\" height=\"464\" data-src=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-14.png\" alt=\"\" class=\"wp-image-10393 lazyload\" data-srcset=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-14.png 863w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-14-768x413.png 768w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-14-18x10.png 18w\" data-sizes=\"(max-width: 863px) 100vw, 863px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 863px; --smush-placeholder-aspect-ratio: 863\/464;\" \/><figcaption class=\"wp-element-caption\">Figure 15: The 2-Sided PCB Tool panel in FlatCAM, used for calculating the mirror axis.<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The result of the Y-axis mirror operation, showing the bottom layer flipped relative to the frame:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"938\" height=\"505\" data-src=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-15.png\" alt=\"\" class=\"wp-image-10394 lazyload\" data-srcset=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-15.png 938w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-15-768x413.png 768w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-15-18x10.png 18w\" data-sizes=\"(max-width: 938px) 100vw, 938px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 938px; --smush-placeholder-aspect-ratio: 938\/505;\" \/><figcaption class=\"wp-element-caption\">Figure 16: The bottom layer is now flipped and ready for processing.<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Now we mirror the back mask by choosing the back mask gerber file in the \u201csource object\u201d section of the tool and mirror as given below:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"940\" height=\"505\" data-src=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-16.png\" alt=\"\" class=\"wp-image-10395 lazyload\" data-srcset=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-16.png 940w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-16-768x413.png 768w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-16-18x10.png 18w\" data-sizes=\"(max-width: 940px) 100vw, 940px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 940px; --smush-placeholder-aspect-ratio: 940\/505;\" \/><figcaption class=\"wp-element-caption\">Figure 17: Mirroring the Bottom Solder Mask layer to align with the flipped copper traces.<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Step 5:<\/strong> Generating Laser G-Code (Isolation)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">All laser parameters in this guide are based on the Snapmaker 40W laser module. Users of 10W or 20W modules must scale power accordingly.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Top (Front) Copper<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">We double click the top\/front copper gerber under the \u201cProject\u201d tab to choose the \u201cIsolation Routing\u201d tool:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Bit size of 0.15 mm, 15% of overlap with 12 passes in isolation tool, TT: C1,<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"783\" height=\"421\" data-src=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-17.png\" alt=\"\" class=\"wp-image-10396 lazyload\" data-srcset=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-17.png 783w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-17-768x413.png 768w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-17-18x10.png 18w\" data-sizes=\"(max-width: 783px) 100vw, 783px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 783px; --smush-placeholder-aspect-ratio: 783\/421;\" \/><figcaption class=\"wp-element-caption\">Figure 18: The Isolation Routing Tool panel in FlatCAM configured with a 0.15mm tool diameter.<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">Now we open the geometry object just created by the isolation routing tool:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>C1 tool type in isolation tool,<\/li>\n\n\n\n<li>0.15 mm of bit size, C1 tool type, offset is path with type \u201cIso\u201d, 10% of laser power, 700 mm\/min of federate X-Y, GRBL Laser as the preprocessor,<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"786\" height=\"422\" data-src=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-18.png\" alt=\"\" class=\"wp-image-10397 lazyload\" data-srcset=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-18.png 786w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-18-768x412.png 768w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-18-18x10.png 18w\" data-sizes=\"(max-width: 786px) 100vw, 786px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 786px; --smush-placeholder-aspect-ratio: 786\/422;\" \/><figcaption class=\"wp-element-caption\">Figure 19: The generated toolpath (red lines) for the top copper layer isolation.<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">We will save the file as .nc file for the machine. The resulting plotting:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"940\" height=\"506\" data-src=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-19.png\" alt=\"\" class=\"wp-image-10398 lazyload\" data-srcset=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-19.png 940w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-19-768x413.png 768w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-19-18x10.png 18w\" data-sizes=\"(max-width: 940px) 100vw, 940px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 940px; --smush-placeholder-aspect-ratio: 940\/506;\" \/><figcaption class=\"wp-element-caption\">Figure 20: The CNC Job Object panel showing the generated blue toolpaths for the laser process.<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We simply repeat the same for the bottom copper gerber file. Here is the bottom copper and front copper plotting:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"939\" height=\"505\" data-src=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-20.png\" alt=\"\" class=\"wp-image-10399 lazyload\" data-srcset=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-20.png 939w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-20-768x413.png 768w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-20-18x10.png 18w\" data-sizes=\"(max-width: 939px) 100vw, 939px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 939px; --smush-placeholder-aspect-ratio: 939\/505;\" \/><figcaption class=\"wp-element-caption\">Figure 21: A comprehensive view of the toolpaths generated for both top and bottom layers.<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">We disable plots for CNC job and geometries for front and back copper sides to make it easier for us to follow.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Now we prepare the masks for the front and bottom gerber files.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>We double click the front mask and then open the Paint tool,<\/li>\n\n\n\n<li>We set the tool diameter to 0.15 and tool type to C1,<\/li>\n\n\n\n<li>Overlap is 15%.<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"919\" height=\"494\" data-src=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-21.png\" alt=\"\" class=\"wp-image-10400 lazyload\" data-srcset=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-21.png 919w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-21-768x413.png 768w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-21-18x10.png 18w\" data-sizes=\"(max-width: 919px) 100vw, 919px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 919px; --smush-placeholder-aspect-ratio: 919\/494;\" \/><figcaption class=\"wp-element-caption\">Figure 22: Using the Paint Tool in FlatCAM to generate fill areas for the solder mask removal.<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">And we perform the same steps for the back mask gerber as well.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">With the geometries generated for the masks front and back, we can now double click them to set the laser engraving settings, same as before:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>C1 tool type in isolation tool,<\/li>\n\n\n\n<li>0.15 mm of bit size, C1 tool type, offset is path with type \u201cIso\u201d, 10% of laser power, 700 mm\/min of federate X-Y, GRBL Laser as the preprocessor,<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"856\" height=\"460\" data-src=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-22.png\" alt=\"\" class=\"wp-image-10401 lazyload\" data-srcset=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-22.png 856w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-22-768x413.png 768w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-22-18x10.png 18w\" data-sizes=\"(max-width: 856px) 100vw, 856px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 856px; --smush-placeholder-aspect-ratio: 856\/460;\" \/><figcaption class=\"wp-element-caption\">Figure 23: The resulting geometry for the solder mask layer (red fill).<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Then we save the Gcodes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Step 6: <\/strong>Preparing the Front and Bottom Copper Gcodes for the Laser Engraving<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">First, we repeat the gcode, for 5 times in the same file as:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">From<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"271\" height=\"269\" data-src=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-23.png\" alt=\"\" class=\"wp-image-10402 lazyload\" data-srcset=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-23.png 271w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-23-12x12.png 12w\" data-sizes=\"(max-width: 271px) 100vw, 271px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 271px; --smush-placeholder-aspect-ratio: 271\/269;\" \/><figcaption class=\"wp-element-caption\">Figure 24: G-code repetition.<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Until<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"311\" height=\"289\" data-src=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-24.png\" alt=\"\" class=\"wp-image-10403 lazyload\" data-srcset=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-24.png 311w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-24-13x12.png 13w\" data-sizes=\"(max-width: 311px) 100vw, 311px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 311px; --smush-placeholder-aspect-ratio: 311\/289;\" \/><figcaption class=\"wp-element-caption\">Figure 25: G-code repetition.<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Copied and pasted 5 more times to repeat continuously:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"326\" height=\"275\" data-src=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-25.png\" alt=\"\" class=\"wp-image-10404 lazyload\" data-srcset=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-25.png 326w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-25-14x12.png 14w\" data-sizes=\"(max-width: 326px) 100vw, 326px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 326px; --smush-placeholder-aspect-ratio: 326\/275;\" \/><figcaption class=\"wp-element-caption\">Figure 26: G-code repetition.<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Then we repeat the same process for the bottom gcode as well.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We repeat the same process to obtain 5 times repeated code for the mask gcodes as well.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Step 7: <\/strong>PCB Cutout and Drilling-Milling Design<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Cutout<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">We double click to open the edge cut gerber file. Then we open the \u201ccutout tool\u201d. We are going to use the Snapmaker 1.5mm bit for this purpose, therefore our settings are:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Tool dia: 1.5mm,<\/li>\n\n\n\n<li>Cut z: -1.9,<\/li>\n\n\n\n<li>No multidepth,<\/li>\n\n\n\n<li>Margin: 0<\/li>\n\n\n\n<li>Gaps: none.<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"617\" height=\"331\" data-src=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-26.png\" alt=\"\" class=\"wp-image-10405 lazyload\" data-srcset=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-26.png 617w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-26-18x10.png 18w\" data-sizes=\"(max-width: 617px) 100vw, 617px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 617px; --smush-placeholder-aspect-ratio: 617\/331;\" \/><figcaption class=\"wp-element-caption\">Figure 27: The Cutout Tool panel in FlatCAM configured.<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We double click to open the geometry and apply the following settings:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Preprocessor:<\/strong> Marlin,<\/li>\n\n\n\n<li><strong>Tool diameter:<\/strong> Enter for the bit,<\/li>\n\n\n\n<li><strong>Tool type:<\/strong> Enter for the bit,<\/li>\n\n\n\n<li><strong>Cut Z:<\/strong> -2,<\/li>\n\n\n\n<li><strong>Feedrate X-Y and Z:<\/strong> 60,<\/li>\n\n\n\n<li><strong>Spindle speed:<\/strong> 18000.<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"623\" height=\"335\" data-src=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-27.png\" alt=\"\" class=\"wp-image-10406 lazyload\" data-srcset=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-27.png 623w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-27-18x10.png 18w\" data-sizes=\"(max-width: 623px) 100vw, 623px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 623px; --smush-placeholder-aspect-ratio: 623\/335;\" \/><figcaption class=\"wp-element-caption\">Figure 28<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Step 8:<\/strong> Drilling and Milling<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Vias<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">We designed vias to be 0.5mm so we will use a suitable 0.5mm bit. With the following settings:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"747\" height=\"402\" data-src=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-28.png\" alt=\"\" class=\"wp-image-10407 lazyload\" data-srcset=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-28.png 747w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-28-18x10.png 18w\" data-sizes=\"(max-width: 747px) 100vw, 747px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 747px; --smush-placeholder-aspect-ratio: 747\/402;\" \/><figcaption class=\"wp-element-caption\">Figure 29: Choosing the hole to drill in the Excellon object.<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Settings are as follows:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Preprocessor:<\/strong> Marlin,<\/li>\n\n\n\n<li><strong>Cut Z:<\/strong> -2,<\/li>\n\n\n\n<li><strong>Feedrate Z:<\/strong> 120,<\/li>\n\n\n\n<li><strong>Spindle speed:<\/strong> 18000.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">We open the Excellon file that contains all the vias to be drilled or milled and choose only 0.5mm one. Then we choose the Drilling Tool, then we apply the settings as:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"755\" height=\"406\" data-src=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-29.png\" alt=\"\" class=\"wp-image-10408 lazyload\" data-srcset=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-29.png 755w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-29-18x10.png 18w\" data-sizes=\"(max-width: 755px) 100vw, 755px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 755px; --smush-placeholder-aspect-ratio: 755\/406;\" \/><figcaption class=\"wp-element-caption\">Figure 30: The Drilling Tool panel with a list of drill sizes (0.5mm selected).<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Drilling the Holes<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">We repeat the same procedure for drilling. For our case, we will drill 0.5mm, 0.99 mm &#8211; 1.09 mm(~1mm) and 1.29mm (~1.3mm) with drilling.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Milling the Bigger Holes<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">For 3.2mm we will use the Flat End Mill (double cut 1.5) bit to perform milling. First, we select the 3.2mm diameter from the table:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Under \u201cUtilities\u201d we fill the bit size as 1.5000 and click Mill Drills,<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"858\" height=\"461\" data-src=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-30.png\" alt=\"\" class=\"wp-image-10409 lazyload\" data-srcset=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-30.png 858w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-30-768x413.png 768w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-30-18x10.png 18w\" data-sizes=\"(max-width: 858px) 100vw, 858px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 858px; --smush-placeholder-aspect-ratio: 858\/461;\" \/><figcaption class=\"wp-element-caption\">Figure 31<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If the FlatCAM crashes, you need to export the DRL file using GerbV program, as previously explained using GerbV.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Preprocessor:<\/strong> Marlin,<\/li>\n\n\n\n<li><strong>Tool diameter:<\/strong> Enter for the bit,<\/li>\n\n\n\n<li><strong>Tool type:<\/strong> Enter for the bit,<\/li>\n\n\n\n<li><strong>Cut Z:<\/strong> -2,<\/li>\n\n\n\n<li><strong>Feedrate X-Y and Z:<\/strong> 60,<\/li>\n\n\n\n<li><strong>Spindle speed:<\/strong> 18000.<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"858\" height=\"461\" data-src=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-31.png\" alt=\"\" class=\"wp-image-10410 lazyload\" data-srcset=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-31.png 858w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-31-768x413.png 768w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-31-18x10.png 18w\" data-sizes=\"(max-width: 858px) 100vw, 858px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 858px; --smush-placeholder-aspect-ratio: 858\/461;\" \/><figcaption class=\"wp-element-caption\">Figure 32<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Finally, we have the following list of objects under the Project tab with the plot given,<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"939\" height=\"505\" data-src=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-32.png\" alt=\"\" class=\"wp-image-10411 lazyload\" data-srcset=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-32.png 939w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-32-768x413.png 768w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-32-18x10.png 18w\" data-sizes=\"(max-width: 939px) 100vw, 939px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 939px; --smush-placeholder-aspect-ratio: 939\/505;\" \/><figcaption class=\"wp-element-caption\">Figure 33<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Step 9: <\/strong>Laser Ablation on the Snapmaker<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">To maintain perfect alignment between the top and bottom sides, attach a sacrificial material to the bed to act as a physical &#8220;fence&#8221; or anchor. We used an old PCB and Snapmaker CNC to carve out a corner. One can also use the laser module to cut a template out of wood.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"870\" height=\"490\" data-src=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-33.png\" alt=\"\" class=\"wp-image-10412 lazyload\" data-srcset=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-33.png 870w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-33-768x433.png 768w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-33-18x10.png 18w\" data-sizes=\"(max-width: 870px) 100vw, 870px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 870px; --smush-placeholder-aspect-ratio: 870\/490;\" \/><figcaption class=\"wp-element-caption\">Figure 34: Do not move this anchor plate until the project is finished.<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We are using the CNC table for the laser engraving as well. Because we will be also using the CNC module and it will be easier to set the same work coordinates for X-Y axes:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"878\" height=\"494\" data-src=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-34.png\" alt=\"\" class=\"wp-image-10413 lazyload\" data-srcset=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-34.png 878w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-34-768x432.png 768w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-34-18x10.png 18w\" data-sizes=\"(max-width: 878px) 100vw, 878px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 878px; --smush-placeholder-aspect-ratio: 878\/494;\" \/><figcaption class=\"wp-element-caption\">Figure 35: The painted black PCB aligned perfectly against the anchor plate.<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We use double sided tape to fix the PCB to its place. Our PCB has 1.5mm thickness.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Workflow<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">To maintain perfect alignment between the top and bottom sides, you must attach a sacrificial material to the bed to act as a physical &#8220;fence&#8221; or anchor. We carved out a corner of an old PCB using the CNC module. <strong>Do not move this anchor plate until the entire project is finished.<\/strong> <\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Ablate Top Copper paint,<\/li>\n\n\n\n<li>Flip the board horizontally,<\/li>\n\n\n\n<li>Ablate Bottom Copper paint.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Crucial: Record your machine coordinates for the Work Origin so you can return to them exactly if the machine restarts or modules are swapped:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"879\" height=\"494\" data-src=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-35.png\" alt=\"\" class=\"wp-image-10414 lazyload\" data-srcset=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-35.png 879w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-35-768x432.png 768w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-35-18x10.png 18w\" data-sizes=\"(max-width: 879px) 100vw, 879px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 879px; --smush-placeholder-aspect-ratio: 879\/494;\" \/><figcaption class=\"wp-element-caption\">Figure 36: The Snapmaker touchscreen showing the &#8220;Laser Job Preparation&#8221; and machine coordinates.<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">And here is the laser spot for marking the origin, side view for front copper:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"883\" height=\"497\" data-src=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-36.png\" alt=\"\" class=\"wp-image-10415 lazyload\" data-srcset=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-36.png 883w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-36-768x432.png 768w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-36-18x10.png 18w\" data-sizes=\"(max-width: 883px) 100vw, 883px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 883px; --smush-placeholder-aspect-ratio: 883\/497;\" \/><figcaption class=\"wp-element-caption\">Figure 37: The Snapmaker Laser module firing its guiding beam to set the origin on the board.<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We have the front copper\u2019s result as,<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"940\" height=\"529\" data-src=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-37.png\" alt=\"\" class=\"wp-image-10416 lazyload\" data-srcset=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-37.png 940w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-37-768x432.png 768w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-37-18x10.png 18w\" data-sizes=\"(max-width: 940px) 100vw, 940px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 940px; --smush-placeholder-aspect-ratio: 940\/529;\" \/><figcaption class=\"wp-element-caption\">Figure 38:The PCB after the laser process, showing the black paint ablated away to reveal copper.<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Step 10: <\/strong>Chemical Etching<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">The Etchant<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Our etchant is FeCl<sub>3<\/sub> (Ferric chloride).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Process<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Submerge the board in a Ferric Chloride (FeCl3) solution. Gently agitate the container to speed up the reaction. The paint remaining on the board will protect the traces while the exposed copper is dissolved. (Heating up the solution beforehand is a very good option as well.):<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"762\" height=\"429\" data-src=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-38.png\" alt=\"\" class=\"wp-image-10417 lazyload\" data-srcset=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-38.png 762w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-38-18x10.png 18w\" data-sizes=\"(max-width: 762px) 100vw, 762px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 762px; --smush-placeholder-aspect-ratio: 762\/429;\" \/><figcaption class=\"wp-element-caption\">Figure 39: The PCB submerged in a plastic container filled with Ferric Chloride solution.<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Monitor the process closely. Remove the board as soon as the unwanted copper is gone to prevent &#8220;over-etching,&#8221; which can damage your traces:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"653\" height=\"445\" data-src=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-39.png\" alt=\"\" class=\"wp-image-10419 lazyload\" data-srcset=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-39.png 653w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-39-18x12.png 18w\" data-sizes=\"(max-width: 653px) 100vw, 653px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 653px; --smush-placeholder-aspect-ratio: 653\/445;\" \/><figcaption class=\"wp-element-caption\">Figure 40: Checking the PCB during etching; the traces are becoming distinct as copper dissolves.<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Result of Etching<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Front copper:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"940\" height=\"529\" data-src=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-40.png\" alt=\"\" class=\"wp-image-10420 lazyload\" data-srcset=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-40.png 940w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-40-768x432.png 768w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-40-18x10.png 18w\" data-sizes=\"(max-width: 940px) 100vw, 940px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 940px; --smush-placeholder-aspect-ratio: 940\/529;\" \/><figcaption class=\"wp-element-caption\">Figure 41: The etched board (Top Side) still covered in black paint.<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Bottom copper:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"900\" height=\"507\" data-src=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-41.png\" alt=\"\" class=\"wp-image-10421 lazyload\" data-srcset=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-41.png 900w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-41-768x433.png 768w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-41-18x10.png 18w\" data-sizes=\"(max-width: 900px) 100vw, 900px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 900px; --smush-placeholder-aspect-ratio: 900\/507;\" \/><figcaption class=\"wp-element-caption\">Figure 42: The etched board (Bottom Side) showing the mirrored traces in black paint.<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Now we can continue with removing the black paint, using polyester resin cleaner solvent. You can use isopropyl alcohol as well; it just takes more time to remove.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Step 11:<\/strong> Paint Removal<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Once etched, clean the remaining black paint using a solvent like polyester resin cleaner or Isopropyl Alcohol (IPA) and paper towels. You should now see shiny, isolated copper traces:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"960\" height=\"540\" data-src=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-42.png\" alt=\"\" class=\"wp-image-10422 lazyload\" data-srcset=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-42.png 960w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-42-768x432.png 768w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-42-18x10.png 18w\" data-sizes=\"(max-width: 960px) 100vw, 960px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 960px; --smush-placeholder-aspect-ratio: 960\/540;\" \/><figcaption class=\"wp-element-caption\">Figure 43: The Top Side after cleaning with solvent, revealing shiny copper traces.<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">And bottom:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"968\" height=\"545\" data-src=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-43.png\" alt=\"\" class=\"wp-image-10423 lazyload\" data-srcset=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-43.png 968w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-43-768x432.png 768w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-43-18x10.png 18w\" data-sizes=\"(max-width: 968px) 100vw, 968px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 968px; --smush-placeholder-aspect-ratio: 968\/545;\" \/><figcaption class=\"wp-element-caption\">Figure 44: The Bottom Side after cleaning, ready for drilling.<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Step 12:<\/strong> CNC Drilling &amp; Alignment<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Re-Alignment<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">We have already prepared the drilling G-codes, and we will secure the PCB front copper facing us.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Finding Zero<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">We use double-sided tape to secure the PCB to our anchor point as given in the photo below:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"725\" height=\"408\" data-src=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-44.png\" alt=\"\" class=\"wp-image-10424 lazyload\" data-srcset=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-44.png 725w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-44-18x10.png 18w\" data-sizes=\"(max-width: 725px) 100vw, 725px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 725px; --smush-placeholder-aspect-ratio: 725\/408;\" \/><figcaption class=\"wp-element-caption\">Figure 45: The Snapmaker CNC module positioned over the clean, etched PCB for alignment.<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Since we removed the PCB from the table to clean the paint, we need to find out our work origin. To do that, we are going to choose a 0.5mm drill (Since it is the smallest one.) via, to come as close as possible to its center and from there we will roll back to our work origin:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"870\" height=\"467\" data-src=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-45.png\" alt=\"\" class=\"wp-image-10425 lazyload\" data-srcset=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-45.png 870w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-45-768x412.png 768w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-45-18x10.png 18w\" data-sizes=\"(max-width: 870px) 100vw, 870px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 870px; --smush-placeholder-aspect-ratio: 870\/467;\" \/><figcaption class=\"wp-element-caption\">Figure 46: Close-up of the FlatCAM screen identifying a specific via to use for visual alignment.<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Now, we make our CNC bit as close as possible to the chosen vias center:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"890\" height=\"501\" data-src=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-46.png\" alt=\"\" class=\"wp-image-10426 lazyload\" data-srcset=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-46.png 890w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-46-768x432.png 768w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-46-18x10.png 18w\" data-sizes=\"(max-width: 890px) 100vw, 890px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 890px; --smush-placeholder-aspect-ratio: 890\/501;\" \/><figcaption class=\"wp-element-caption\">Figure 47: The CNC drill bit lowered manually to hover exactly over the chosen via for alignment.<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Now, we find out the relative position of that vias center:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"940\" height=\"507\" data-src=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-47.png\" alt=\"\" class=\"wp-image-10427 lazyload\" data-srcset=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-47.png 940w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-47-768x414.png 768w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-47-18x10.png 18w\" data-sizes=\"(max-width: 940px) 100vw, 940px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 940px; --smush-placeholder-aspect-ratio: 940\/507;\" \/><figcaption class=\"wp-element-caption\">Figure 48: The coordinate screen in FlatCAM used to calculate the offset from the via to the origin. (We zoomed in very much!)<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">From this relative position, we will go back to origin. First, we set the work origin using this point on the controller:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"936\" height=\"527\" data-src=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-48.png\" alt=\"\" class=\"wp-image-10428 lazyload\" data-srcset=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-48.png 936w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-48-768x432.png 768w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-48-18x10.png 18w\" data-sizes=\"(max-width: 936px) 100vw, 936px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 936px; --smush-placeholder-aspect-ratio: 936\/527;\" \/><figcaption class=\"wp-element-caption\">Figure 49<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Now using the relative position from the FlatCAM software, we go back to the origin:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"940\" height=\"529\" data-src=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-49.png\" alt=\"\" class=\"wp-image-10429 lazyload\" data-srcset=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-49.png 940w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-49-768x432.png 768w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-49-18x10.png 18w\" data-sizes=\"(max-width: 940px) 100vw, 940px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 940px; --smush-placeholder-aspect-ratio: 940\/529;\" \/><figcaption class=\"wp-element-caption\">Figure 50<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Then we set current position as the work origin. Hence, we found our origin, again.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The new machine coordinate for the origin is:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"884\" height=\"498\" data-src=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-50.png\" alt=\"\" class=\"wp-image-10430 lazyload\" data-srcset=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-50.png 884w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-50-768x433.png 768w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-50-18x10.png 18w\" data-sizes=\"(max-width: 884px) 100vw, 884px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 884px; --smush-placeholder-aspect-ratio: 884\/498;\" \/><figcaption class=\"wp-element-caption\">Figure 51<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">So, in the laser module our coordinates for the origin were:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>X: 173.80, Y: 142.90 and Z might change.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">In CNC module it is:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>X: 153.12, Y: 139.60 and Z might change as well.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Hence, if we go from laser module to CNC module in the feature, we can add the following values to X and Y axes, to get our CNC origin from laser origin:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u2206X: -20.68, \u2206Y: -3.3 and we need to set Z axis each time.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Note on Offsets:<\/strong> The offset values calculated here are specific to our exact Snapmaker setup. You cannot blindly copy these numbers; you must manually measure and calculate the offset between the Laser and CNC modules for your specific machine.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Final drilled and milled PCB result photo:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"845\" height=\"453\" data-src=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-51.png\" alt=\"\" class=\"wp-image-10431 lazyload\" data-srcset=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-51.png 845w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-51-768x412.png 768w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-51-18x10.png 18w\" data-sizes=\"(max-width: 845px) 100vw, 845px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 845px; --smush-placeholder-aspect-ratio: 845\/453;\" \/><figcaption class=\"wp-element-caption\">Figure 52: The PCB after drilling, showing clean holes through the pads.<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Step 13:<\/strong> The PCB Mask and Laser Processing<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">We prepare the surface of the PCB by lightly using a high grid sandpaper, and then isopropyl alcohol. We have applied the green mask.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Use the Snapmaker Laser module again (with the solder mask G-code generated earlier) to ablate the paint only over the pads, exposing them for soldering.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">While removing the mask:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"851\" height=\"479\" data-src=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-52.png\" alt=\"\" class=\"wp-image-10432 lazyload\" data-srcset=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-52.png 851w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-52-768x432.png 768w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-52-18x10.png 18w\" data-sizes=\"(max-width: 851px) 100vw, 851px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 851px; --smush-placeholder-aspect-ratio: 851\/479;\" \/><figcaption class=\"wp-element-caption\">Figure 53: The Snapmaker Laser module ablating the green solder mask paint.<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Remember, we can use the laser module machine coordinates for our work origin.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Here are the results:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"940\" height=\"426\" data-src=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-53.png\" alt=\"\" class=\"wp-image-10433 lazyload\" data-srcset=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-53.png 940w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-53-768x348.png 768w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-53-18x8.png 18w\" data-sizes=\"(max-width: 940px) 100vw, 940px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 940px; --smush-placeholder-aspect-ratio: 940\/426;\" \/><figcaption class=\"wp-element-caption\">Figure 54: The PCB is covered in green solder mask with the pads exposed.<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">And for the bottom copper:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"940\" height=\"442\" data-src=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-54.png\" alt=\"\" class=\"wp-image-10434 lazyload\" data-srcset=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-54.png 940w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-54-768x361.png 768w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-54-18x8.png 18w\" data-sizes=\"(max-width: 940px) 100vw, 940px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 940px; --smush-placeholder-aspect-ratio: 940\/442;\" \/><figcaption class=\"wp-element-caption\">Figure 55: The Bottom side of the PCB with green solder mask applied and cured.<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Notice that the vias are slightly offset from the pads. While not perfect, this is manageable for a prototype. You can fix most of these by feeding in extra solder to bridge the gap or, in extreme cases, running a tiny jumper wire to the adjacent trace. Don&#8217;t let a minor offset stop your workflow\u2014patch it up and keep testing!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Step 14: <\/strong>Cutting and Finishing<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Cutting<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">We go back to the CNC module by swapping the modules.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Now, we can run our final G-code and remember, we can use the CNC machine coordinates for the work origin. From that point, we cut our PCB:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"900\" height=\"506\" data-src=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-55.png\" alt=\"\" class=\"wp-image-10435 lazyload\" data-srcset=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-55.png 900w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-55-768x432.png 768w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-55-18x10.png 18w\" data-sizes=\"(max-width: 900px) 100vw, 900px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 900px; --smush-placeholder-aspect-ratio: 900\/506;\" \/><figcaption class=\"wp-element-caption\">Figure 56: Action shot of the CNC module milling the final outline (profile cut) of the board.<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Then we got the cut PCB,<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"907\" height=\"510\" data-src=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-56.png\" alt=\"\" class=\"wp-image-10436 lazyload\" data-srcset=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-56.png 907w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-56-768x432.png 768w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-56-18x10.png 18w\" data-sizes=\"(max-width: 907px) 100vw, 907px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 907px; --smush-placeholder-aspect-ratio: 907\/510;\" \/><figcaption class=\"wp-element-caption\">Figure 57: The finished PCB separated from the surrounding frame.<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Sanding<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Now, we sand the edges,<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"859\" height=\"396\" data-src=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-57.png\" alt=\"\" class=\"wp-image-10437 lazyload\" data-srcset=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-57.png 859w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-57-768x354.png 768w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-57-18x8.png 18w\" data-sizes=\"(max-width: 859px) 100vw, 859px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 859px; --smush-placeholder-aspect-ratio: 859\/396;\" \/><figcaption class=\"wp-element-caption\">Figure 58: Sanding the edges of the PCB to remove rough fiberglass burrs.<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Final Result<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Finally, we have our PCBs!<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"940\" height=\"529\" data-src=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-58.png\" alt=\"\" class=\"wp-image-10438 lazyload\" data-srcset=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-58.png 940w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-58-768x432.png 768w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-58-18x10.png 18w\" data-sizes=\"(max-width: 940px) 100vw, 940px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 940px; --smush-placeholder-aspect-ratio: 940\/529;\" \/><figcaption class=\"wp-element-caption\">Figure 59: Holding the final double-sided PCB, showing the top side.<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Bottom copper:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"940\" height=\"529\" data-src=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-59.png\" alt=\"\" class=\"wp-image-10439 lazyload\" data-srcset=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-59.png 940w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-59-768x432.png 768w, https:\/\/teamsolaris.com\/wp-content\/uploads\/2026\/05\/image-59-18x10.png 18w\" data-sizes=\"(max-width: 940px) 100vw, 940px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 940px; --smush-placeholder-aspect-ratio: 940\/529;\" \/><figcaption class=\"wp-element-caption\">Figure 60: Holding the final double-sided PCB, showing the bottom side.<\/figcaption><\/figure>\n<\/div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<div style=\"display: flex; align-items: center; padding: 20px; border: 1px solid #ddd; border-radius: 8px; background-color: #f9f9f9; margin-top: 40px;\">\n  \n  <img decoding=\"async\" data-src=\"https:\/\/teamsolaris.com\/wp-content\/uploads\/2023\/06\/ahmet_batuhan_gunaltay-scaled.jpg.webp\" alt=\"Author Photo\" style=\"--smush-placeholder-width: 2560px; --smush-placeholder-aspect-ratio: 2560\/2560;width: 80px; height: 80px; border-radius: 50%; margin-right: 20px; object-fit: cover;\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\">\n  \n  <div>\n    <span style=\"font-family: sans-serif; font-size: 12px; font-weight: bold; color: #777; text-transform: uppercase; letter-spacing: 0.5px;\">About the Author<\/span>\n\n    <p style=\"margin: 0 0 8px 0; font-size: 15px; line-height: 1.5; font-family: sans-serif;\">\n  <strong>Ahmet Batuhan G\u00fcnaltay<\/strong> is a final-year Electrical and Electronics Engineering student at Dokuz Eyl\u00fcl University and a veteran of Solar Team Solaris.\n<\/p>\n    \n    <a href=\"https:\/\/www.linkedin.com\/in\/ahmetbatuhangunaltay\/\" target=\"_blank\" rel=\"noopener noreferrer\" style=\"color: #0073aa; text-decoration: none; font-weight: bold; font-family: sans-serif; font-size: 14px;\">\n      Check on LinkedIn\n    <\/a>\n  <\/div>\n\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Master the hybrid PCB prototyping workflow. Follow along as we build a custom UART to CAN-Bus prototype using FlatCAM and the Snapmaker Artisan or Snapmaker 2.0.<\/p>","protected":false},"author":1,"featured_media":10438,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_eb_attr":"","_themeisle_gutenberg_block_has_review":false,"footnotes":""},"categories":[157],"tags":[161,162,160,164,158,159,63,61,59],"class_list":["post-10376","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technical","tag-cnc-milling","tag-double-sided-pcb","tag-laser-ablation","tag-pcb-fabrication","tag-snapmaker-3-in-1","tag-snapmaker-artisan","tag-solarcar","tag-solarisgunesarabalari","tag-solarteamsolaris"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/teamsolaris.com\/tr\/wp-json\/wp\/v2\/posts\/10376","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/teamsolaris.com\/tr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/teamsolaris.com\/tr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/teamsolaris.com\/tr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/teamsolaris.com\/tr\/wp-json\/wp\/v2\/comments?post=10376"}],"version-history":[{"count":21,"href":"https:\/\/teamsolaris.com\/tr\/wp-json\/wp\/v2\/posts\/10376\/revisions"}],"predecessor-version":[{"id":10469,"href":"https:\/\/teamsolaris.com\/tr\/wp-json\/wp\/v2\/posts\/10376\/revisions\/10469"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/teamsolaris.com\/tr\/wp-json\/wp\/v2\/media\/10438"}],"wp:attachment":[{"href":"https:\/\/teamsolaris.com\/tr\/wp-json\/wp\/v2\/media?parent=10376"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/teamsolaris.com\/tr\/wp-json\/wp\/v2\/categories?post=10376"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/teamsolaris.com\/tr\/wp-json\/wp\/v2\/tags?post=10376"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}