Export for Production (Etchable SVG) in CNC router

I know there is software for routing PCBs as I had done some research on it awhile back. All of my links on this subject were on a old computer which had died… If you do a goo search and checkout some youtube it may lead you in the right direction. I did a quick search… here are a couple of links…


http://michaelhleonard.com/cnc-milled-pcbs/

http://www.kellyware.com/kcam/
http://flatcam.org/
http://reprap.org/wiki/PCB_Milling
http://www.pcbgcode.com/
http://www.circuitcam.com/

I navigated the indicated links and some others.

There seems to be a preference for the use of the Eagle (to draw the schematic and PCB) and its PCBGCode plugin (to generate Gcode). Among some of the PCB design software that I rated, I realized that the Eagle is the most difficult to use, the less intuitive. Unfortunately.

I like Fritzing but it is still a very early stage.
I hope Fritzing to improve the supply of other export formats, as well as resolve compatibility issues of the formats that have (I have tried exporting my PCB Fritzing to the Eagle and I did not succeed).

Thank you.

I thought it said that you could generate the g-code for any gerber files…

The bCNC is the application that connects to the Arduino GRBL. I do not know another application to do that, so I have to work with bCNC if I want to continue using the Arduino. I want to continue using the Arduino for various reasons even though this is not the best CNC platform.

Among the formats that can be opened by bCNC I can name the SVG and Gcode but not the Gerber.

I initially tried using the SVG generated by Fritzing but there is some incompatibility between the SVG exported by Fritzing and SVG imported by bCNC because no Fritzing SVG graphic can be imported into bCNC. This is a problem.

Another problem with the SVG graphic generated by Fritzing is that they can not be handled by Inkscape just as an SVG graphic generated by Inkscape can be handled by Inkscape itself. Try using the tools Union, Difference, Intersection, Exclusion, Division (in the Path tab) in SVGs generated by Inkscape and SVGs generated by Fritzing. If there was not a problem I could work the SVG graphic generated by Fritzing ( “xxx__etchcopper_bottom_mirror.svg”) for the negativet it with the Exclusion tool.

So the solution would be to export a Gerber generated by Fritzing for Eagle generate Gcode to be used by bCNC but Gerber that Fritzing generates is not fully compatible with the Eagle and the result of the migration is unsatisfactory.

In my opinion the best solution would be obtained if the Fritzing generate SVG fully compatible with Inkscape’s tools but this is not in my power.

This is a board that I created on Fritzing and had it fabricated by OSH Park earlier this month. The gerber I used in CopperCam is the same one I sent to OSH Park. Below is a sample of the g-code I generated from this gerber. This board has 8 mil trace and a few 0.3 mm laser drill holes, and is not likely it could ever be milled on a cnc machine. I didn’t set anything up on CopperCam, this was generated out of the box.

I had thought about building another cnc machine and trying this out… sounds like a good winter project…

Yes, a board can be cnc milled using Fritzing gerbers… You may need to design the board a little different than you would for a fab shop.

BTW, CAD/CAM and CNC machining is my background…

%
( CopperCAM - 14/10/2016 / ISO-Mill Output )
( C:\COPPERCAM\CopperCAM.iso created 18/10/2016 at 20:29 )
( Workpiece dimensions: 33.528 x 57.836 x 1 mm )
G21 G40 G54
G80 G90 G94
T3 M06 ( Basic Drill )
M03 S12000
M07
G00 X21.841 Y8.611
G00 Z0
G01 F60 Z-1
G00 Z2
G00 Y6.071
G00 Z0
G01 F60 Z-1
G00 Z2
G00 Y3.531
G00 Z0

Hi…

I built my own CNC specifically to mill my own prototype boards.

I use an arduino with GRBL.

  1. Export your PCB as a PRODUCTION GERBER

This generates everything you need,

  1. Download FlatCAM ( only windows) it is free and wonderful.

  2. Open the GERBER file for COPPER BOTTOM

  3. Follow the rest of the FlatCam steps.

a) I use a .1 mm 10% CNC bit; works like a charm.
b) You must auto level your board. Don’t skimp on this ste p. Get as many data points as you can get within reason.
IF you are doing .1 mm on center type of works you need more data points than doing 2 mm spacing work.
c) DO NOT USE THE CNC BIT FOR AUTO LEVELING. Use a hard steel or brass rod with a dull point.

I will be putting a video as soon as I get a chance. Happy Milling…

Thank you.

I installed FlatCAM-Win32-8.5-Install.exe in Windows 10 64 bits, with Python 2.7.12.

There is a problem with my Flatcam that is not able to open GERBER (xxx__copperBottom.gbl) or import SVG graphics.
I have no experience with Python and I do not find easily the solution to this problem.

Hi steelgoose.

I installed CopperCAM and tried to work the image VoltageRegulator_with_switch_copperBottom.gbl but I’m still trying to understand how this tool can help me.
Therefore, I do not understand how You could generate Gcode from Gerber Fritzing (version 0.9.3) but I suppose You could have had a lot of work.

The maintainer of app GCAM did some testing with that Extended Gerber (RS-274-X) generated by Fritzing. See results in CNCZone Forums

In my opinion, the biggest problem is the quality of Gerber generated by Fritzing, with regions divided into blocks that should not be divided to generate a Gcode. This can be seen in GerberFritzing.jpg and already mentioned in another post here, in the Fritzing forum.

Can you explain in a little more detail how you worked Gerber generated by Fritzing in CopperCAM tool?

PCBs to be routed are designed different than you would for chemical processing. For one, if you want copper fill on a chemical processed board, you need to add copper fill in your PCB drawing so it will be included in the negative and the copper will not be dissolved away in the chemical process. On a CNC router, you don’t need to include copper fill in your PCB drawing. All you want to do is rout out the traces. The copper fill (remaining copper) will remain on the board whether you have copper fill in the PCB drawing or not.

I understood.
After reading a CopperCAM manual written in Portuguese (Brazil), downloaded from the Internet (CopperCAM website has no manual), I’m thinking that for a Gerber generated by Fritzing work in CopperCAM the PCB of this Gerber can not contain copper fill (Fritzing -> Routing -> Ground Fill -> Copper Fill).
We must let the Copper Fill (or Ground Fill) is created in CopperCAM.
Am I right?

Gerber with copper fill in CopperCAM (this Gerber should not be used in CopperCAM)…

Gerber without copper fill in CopperCAM (this Gerber can be used in CopperCAM)…

Copper fill tool in CopperCAM…

Copper fill obtained in CopperCAM…

CopperCAM saving in GCode .nc format…

1 Like

That is awesome… now we know Fritzing Gerber files can be routed with CopperCam and how it is done… This should be a good link for anyone who is interested in making PCBs with a CNC router…

I guess I need to brush up on my Portuguese…

The Gcode generated by CopperCAM does not have the format (dialects?) compatible with the Gcode expected by controller of the GRBL (Arduino).

Example Gcode generated in CopperCAM …

Example Gcode that is compatible with GRBL (Arduino) …

Is there any solution for this?

I expect you would do better asking in the CopperCAM forums than here. There is more of a chance that someone using CopperCAM would know about Arduino compatability and how it can be achieved (if it can be achieved) than anyone here.

Peter Van Epp

Yes, you would need to setup a Post-processor for the GRBL (Arduino); In CopperCam, in the menu, click on Parameters / Data Output Format, and then click on the Format: combo-box, click on Post-processor “ISO standard” bottom of the list. A dialog box will open for you to write your own Post-processor. The g-code is not that far off… You have six decimal places, you only need three, the z-axes does not need to be printed on every line, and the lines with I### and J### are curve coordinate…

You probably need to check out GRBL (Arduino) for the Post-processor format…

GRBL (Arduino) may even run the ISO standard…

steelgoose,

You again demonstrated that there is a solution in CopperCAM and also provided me with some tips on how to achieve this.

So I guess now I’ll have to learn some G-Code and I found a good place for it on the website CNC Coockbook.

Unfortunately there seems not to be a forum dedicated to GRBL, then issues related to this are scattered in several forums, chosen according to the initial purpose of the discussion.

I am very grateful that you have shared your knowledge, that you have not left direct this issue to the void. I believe you have also collaborated with the evolution of Fritzing, this excellent tool.

It is not as difficult as it looks… Depending on how your router is set up; like, is your spindle turned on by the controller or manually… if you turn it on by hand then you don’t need the M codes to turn it on and off. Some controllers won’t do circles, they need to be generated in two half circles… Try a simple generated code with just a couple of lines and curves to see what is does.

You can also edit the Post-processor by hand; go to C:/CopperCam/ISO.ppf and open it up with a text editor. This is the ISO default Post-processor. You don’t need to create/edit the Post-processor within the dialog box, you can just do it by hand in a text editor and save it under a new name. That is the way I always had to do it. You can open up anyone of the .ppf files and look at the difference between them, or edit and save under a different name. The Post-processor format in for all machines, you just need what works on your router…

There seems to be a preference for the use of the Eagle (to draw the schematic and PCB) and its PCBGCode plugin (to generate Gcode). Among some of the PCB design software that I rated, I realized that the Eagle is the most difficult to use, the less intuitive. Unfortunately.
I like Fritzing but it is still a very early stage.

I have small circuits that are easily drawn in Fritzing or other CAD PCB tool.

I found tools that can import Gerber files (generated by Fritzing or not) and export G-Code, so theoretically it would be possible to create CAD in many other PCB designs and then generate the G-Code for GRBL / Arduino.

CopperCAM is one of these tools but requires that it be created an appropriate G-Code profile for GRBL / Arduino through the Post Processor. This is not an easy task for those unfamiliar with G-Code.

As the Fritzing be early, get a G-Code compatible with GRBL / Arduino it is also in development but if it is possible other tools beyond Fritzing will benefit from it.

That is awesome… now we know Fritzing Gerber files can be routed with CopperCam and how it is done… This should be a good link for anyone who is interested in making PCBs with a CNC router…

A new topic was added to the forum: CNC PCB from CAD to CAM with Fritzing CopperCAM and bCNC.

In it you will find tutorial link summarizing the process.