"... and no one shall work for money, and no one shall work for fame; But each for the joy of the working, and each, in his separate star, shall draw the thing as he sees it, for the god of things as they are"



Line Grinder:
Gerber to GCode Isolation Milling


As so often happens when working on a project, one day I found myself in the position of having to undertake an entirely new project just to keep the original project moving forward. Such is the way of the world.

The original project (the Wellity CNC Router) needed circuit boards - and some pretty big and odd shaped ones at that. Given my distaste for spending money, I was loathe to purchase commercial PCB design software and have circuit boards professionally made. Especially as, by the time proper circuit boards were required, the Wellity router was pretty much operational using perf-boarded circuits. The intention was always to eventually use the router to create PCBs for other projects, so the logical conclusion was that it might just as well to get it over with and figure out how to isolation mill PCB's now rather than later. This turned out to be quite a bit harder to do than I imagined it might be. A search for Gerber to GCode isolation routing packages was performed and, indeed, some were found - however each had their drawbacks. An overview of the available options is available on the Gerber To GCode Isolation Routing Summary page. Thinking back on it, the relative scarcity of Gerber To Isolation GCode software should have been a really big warning light telling me that this is a not an especially easy problem. The evidence suggests I am rather clueless about such things.

Sooo... for better or worse I decided to write a package which would run natively on a Windows platform and which would provide the functionality I wanted in regards to PCB isolation routing GCode. Since the software might well be useful to others, it has been released under the MIT license as free and open source. You can download it at the bottom of this page.

The Line Grinder Software

The Line Grinder is a software package which can generate isolation routing GCode from the Gerber format plot files output by most PCB design programs. However, Line Grinder is intended to be a bit more than just the software. The GCode it produces, if run sequentially, should also provide a method for reliably producing nicely aligned, double sided isolation routed PCBs including the cutting of border outlines and the drilling of pad holes and vias. It is intended to be a one-stop-shop GCode generator and methodology which will produce consistent results when cutting circuit boards. It seems to work well for me - hopefully it will do so for you too.


What Line Grinder Does Not Do

Please be aware that the Line Grinder software is purely a code generator. In other words, if you feed it some Gerber or Excellon files you will get some GCode out. Where, how and when you run those GCode files is entirely up to you. Specifically, the Line Grinder software is not a machine controller (like EMC2, Mach3, TurboCNC or many others) and it cannot make your PC physically interact with a CNC mill.

Help Files and Manual

The Online Manual contains a set of help files which, when viewed in sequence, form a "Get Started Guide". There are also specific help files which discuss how to prepare and output suitable Gerber files from the Eagle and DesignSpark software. The Line Grinder software zip file (below) also contains a complete set of these help files.


This software is offered as a binary and with source code under the terms of the the MIT License.



Various small snippets of open source code have been obtained and included in the software. Full credit has been given in the source code comments where appropriate.


The Line Grinder Main Form and a Gerber Plot before Conversion to Isolation GCode


A Graphical Plot of the Calculated Isolation GCode