====== PCB with CNC ====== * [[https://vevor.it/products/cnc-3018-pro-cnc-15w-3-assi-grbl-control-incisore-laser-collegato-al-computer|my vevor 3018 cnc]] * [[https://www.instructables.com/PCB-designing-and-isolationmilling-only-using-free/|reference]] * fritzing * online [[http://jscut.org|jscut]] [[https://cncphilosophy.com/svg-to-g-code/|guide]] * online [[https://ncviewer.com/|ncviewer]] * online [[http://eng-serve.com/cnc/excellon_gcode.html|drill to gcode converter]] * TODO online [[https://copper.carbide3d.com/|carbide3d]] CNC for PCB: * 22000RPM * V-Bit cutter 30 degree 0.2mm * first pass 0.04mm * second pass 0.07mm with more feed ===== fritzing ===== Make electronic schema with fritzing {{ :tips:autoroute.webm |}} {{:tips:fschema.png?400|}} Make pcb routing: * routing -> DRC settings -> 32mil large * routing -> DRC (check design at the end) {{:tips:pcb.png?400|}} export gerber files {{:tips:gerber.png?200|}} ===== flatcam ===== setup flatcam {{ :tips:tools.webm |}} new project open files {{ :tips:openfiles.webm |}} bottom copper {{ :tips:mirror.webm |}} {{ :tips:bottom.webm |}} top copper {{ :tips:top.webm |}} drill {{ :tips:drill.webm |}} contour {{ :tips:contour.webm |}} gcode to initialize and change tool (metric millimeters) G21 (absolute positioning) G90 (piano XY) G17 (feed per minute) G94 (feed 50) G01 F50.00 (stop spindle) M5 (change tool at z25) G00 Z25.0000 G00 X0.0000 Y0.0000 T1 M6 (MSG, Change to Tool Dia = 0.9000 ||| Total drills for tool T1 = 40) M0 G00 Z25.0000 (feed 30) G01 F50.00 (speed 5Volt) M03 S5 ====== deprecated ====== ===== convert gerber to svg ===== Upload _copperBottom.gbl to https://tracespace.io, select layers, download zip and extract _copperBottom.gbl {{:tips:tracespace.png?400|}} Now with inkscape we need to process the complex SVG with multiples path, objects, layers, group, etc. to convert it into a single path simple SVG. You need to open your SVG into Inkscape (Open-Source, cross-platform), and perform the following series of commands: * CTRL+A (Select all), * CTRL+U (Ungroup), * CTRL+ALT+C (Convert stroke to path), * CTRL+A (Select all), * CTRL+U (Union) and * CTRL+SHIFT+R (Fit page to content). * CTRL+S save ===== svg to gcode ===== Open [[http://jscut.org|jscut]]: * load SVG _copperBottom.gbl * make all mm (link) * zero lower left (link) * select all objets, drills and path * create operation * outside, 0.1mm * generate * save gcode edit gcode to set splindle speed to 8000 rpm and turn on it clockwise (after G90) ; after first G1 M3 S5000 ===== carbide3d ===== set splindle speed to 8000 rpm and turn on it clockwise (after G90) G00 Z1.000 M3 S10000 substitute G01 F400 with G01 F40 substiture G00 Z3.000 with G00 Z1.000 deprecated * export your PCB as .svg files by clicking on "Export for PCB" on the bottom. Click on the small arrow on the Export button and select "Etchable (SVG)". You will get a bunch of svg's exported in your selected directory but we will only use two of them: * yourfilename*_etch_copper_bottom_mirror.svg * yourfilename*_etch_mask_bottom_mirror.svg