PCB Milling Workflow for the classroom

I’ve found a simpler workflow for milling PCBs in my classroom maker space than earlier ones I’d worked out. Here’s a blog post detailing the process. I doubt it would suffice for engineers as it takes some shortcuts, but it allows for a quick introduction for my students making simple one-sided boards for their projects. It goes from Tinkercad Circuits > Eagle board layout > Carbide Copper 3D g-code > modifying g-code with a custom Python script > milling on Carvey.


Hi Eric.

I have had a play with your Python script and I found the same issue I mentioned in this [post].(More PCBs - another gerber to g-code converter).

Easel doesn’t like a line formatted like this: G01F200X23.957 Y23.957 and just ignores it so you get missing paths.

If I remove the unnecessary G01F200 on that line it works fine.

Any chance you can have a look at this ??


That’s great that you are trying it out! In my inexperience I’ve always seen that errant path on the cutout file and thought nothing of it. The carvey actually manages to cut the proper path fine, a good rectangular cutout, which is weird because that’s not what you see in Easel. I will take a look at updating the script, though. I’m sure I can have it adjust that g-code.
Thanks for the feedback!

Sounds like it may be a bug in Easel’s visualizer.
@gaz99, I remember that thread, and I remember testing some things with Easel and finding that it didn’t like the F-word anywhere except at the end of a line. I assumed it would cut incorrectly, but based on what @ErikNauman says it sounds like a bug with the visualizer.
I don’t use Easel, the sender.

Sounds like it’s worth sending a bug report. I’ll give that a try.

I have just tested this and can confirm that it is a visual issue, the g-code works as expected.

Still not fussed with Carbide Copper 3D g-code, very limited tool selection and no way to offset the board from origin.

I think I’ll keep using the old Rapid PCB to Gcode and manually editing the files produced.


1 Like

Yes, with Carbide Copper 3d you have to make the offset in your pcb design before you import to CC3D.

So I heard back from inventables support and the developer team says “the feed rate F command needs to be after the X Y Z coordinates in the line of g code to be visualized correctly within Easel”
They are adding this to the g-code spec.
Since my Python script is specifically intended to process Carbide Copper generated g-code for Easel I will look into modifying the script as you suggest @gaz99.

As I said I intend to use the older Rapid PCB to Gcode version as it lets me offset the board position and use the milling and drill bits I have in stock.

I have a custom waste board with a shallow pocket with a piece of FR4 mounted to it, when I want to do a board I mount this and pick an unused spot that is big enough, work out the position and do the offset on Rapid.

Trying to remember to offset the board when producing the gerbers is a pain and if I want more than 1 copy I need to either produce new gerbers or replace the FR4 stock.