open source CNC

Huge News: Shopbot open-sources their job code!

By on

Oh man, this is awesome. Shopbot, the company that made our affordable CNC router, just made their job code open source!

This "Job Code" is the instruction and toolpath code that their machines use. Some call this sort of thing 'NC-Code' or 'G-Code'.

Why this is huge is that there isn't a standard in this world. The closest you get is what people call 'G-Code', which is old, broken, and wasn't ever meant to drive complex CNC machines. 'G-Code' was simply a subset of a computer standard to drive servo-driven and map-making machines forty or more years ago. There were 'N-Codes' and 'T-Codes' and more, but the 'G-codes' were the ones that made the machine move. So, like 'G53' was a command to make the machine move a certain way. It was standardized in the early 60's, and then didn't change. That controller code was, more or less, hacked for more complex CNC use a loooooong time ago and it's only gotten worse. The G-code for one machine won't work with another machine, there are all sorts of machine-specific codes and controls, and it's not human-readable.

So, enter Shopbot. They decided (wisely I feel) to forgo the whole G-code mess, and instead make their own command structure. SBP, as it's called, is more or less a simple form of Basic or Logo. It's much easier to use, much easier to write or deal with, much easier to read, and has all the things one would want in a proper computer language such as subroutines, loops, inputs, and more.

Until now, that SBP code, while well-documented and publicly available, was copyrighted by Shopbot in a typical fashion. While Shopbot was open to others doing neat things with it, there wasn't anything 'official' that said I could, say, write my own SBP generator for Blender and then share it with everyone. Or make a Arduino program that can read SBP jobs and run them on a home-brew CNC machine.

But now, Huzzah! Thanks Shopbot for being so awesome.

Pages