Is this the right way to look at software choices?

I’m one of those guys who wants to understand the various options and how they fit together so I understand the end-to-end story. Looking at the various posts here and elsewhere, here’s what I came up with. What did I get wrong? What am I missing? Obviously, each box could have 10 options, but I’m trying to keep it to the most common. Is there a “If you’re total noob, pick this set of options”?


If this is useful, I’m happy to clean it up and post it somewhere for others to learn from it.

1 Like

Have you seen the software workflow doc?

There are also many ways to move from one row to the other. For example, estlcam can generate gcode for grbl and so can easel. Fusion can create gcode for marlin, with the guffy post processor.

There also isn’t a difference between CAM and slice. Some of the items in slice (like Repetier host) belong in the next column to the right.

I love breakdowns like these. Some feedback. You present it as a chart, yet it cannot be used as a chart. If you intended it to be a chart, then you have some major issues. It might better presented as 8 independent columns with a bit of space between each.

Inputs - this short list fails to capture some important distinctions. I’d break it down like this:

  • Original ideas
  • 2D files
  • Parameterized 3D models
  • Mesh 3D models
  • Image files for reference
  • Image files for tracing
  • Image files for height maps (grayscale)

CAD Design - vCarve is only one of Vectric products. I sometimes leverage Photoshop to create 3D models from grayscale images.

CAM / Toolpaths - anything I can think of that can create toolpaths has some mechanism, either built-in or through a post processor, that generates g-code. So I don’t think the distinction between creating a tool path and generating g-code is meaningful.

Slice Model - I’ve never see a post where Prusa Slicer, Slic3r, or Cura is used to create g-code for a CNC. If this is being done, I’d love to see the posts. Beyond that, as mentioned, I don’t think this category is meaningful. I don’t know, but I don’t think OctoPrint is a slicer.

Machine Controller Software is perhaps the category I’m fuzziest on since I run headless, but typically I look at the this category of software as g-code senders that responsible for transport of g-code created by other software to the MPCNC. While RepetierHost is a slicer, it is one of the main ways MPCNC users send g-code generated elsewhere to the MPCNC. I think an important distinction in this category is wired vs. wireless. Running from the SD card might also belong in this category.

Machine Controller Hardware - The list is much longer. I’m not sure making the list of boards is meaningful other than to say that someone at some time has used that board to make an MPCNC.

1 Like

Thanks for the replies. Original picture has been updated.

@jeffeb3 for whatever reason I hadn’t come across that part of the docs. Maybe I had tunnel vision in the build section. Thanks for the link. It did help clear some stuff up. There’s a gap between the products/options that the docs mention and what comes up in the forum. For me, it’s helpful to fill in the blanks but maybe that’s how I think.

@robertbu Good call on the suggestions. Originally I was thinking about creating a stronger concept of a toolpath but as Jeff points out it’s almost a “choose your own adventure” at each step. Machine Controller options and firmware options where the things that sent me down this rabbit hole. It was hard to understand the ramifications of saying “I should try CNC.JS”.

Are there any options that I’m missing that are common and would classify as hobby-grade (or have a hobbyist-friendly license)?

ESTLCam can also be included in Machine Controller Software and Firmware. It would be it’s own section though because it is neither Marlin or GRBL.

1 Like

I like your updated presentation. I learned a few things studying it. I’m not sure you are trying to be inclusive or representative. If inclusive, you are missing some things. There are many 3D design packages missing. Many of these packages don’t have a CAM component. Things like Alibre, Autodesk Inventor, Rhino 3D, SketchUp, Autocad, TinkerCad, and ZBrush. Also Carbide Create is missing.

On the 2D side there is also many other vector drawing programs. The one missing that jumps out at me is Affinity Designer since I often see it billed as a quality alternative to Illustrator.

I’m not sure why you are including 3D printer slicers in this list.

On the Machine Controller panel, while RAMPS is common, it is not sold by V1. V1 sells the Archim boards though due to a firmware issue they were struggling with, that may not continue. If you want a meaningful list to MPCNC users, a list of boards that V1 directly supports with tested firmware would be valuable here:

  • Archim 1.0
  • Archim 2.0
  • Rambo 1.4
  • Mini Rambo 1.3
  • SKR 1.3
  • SKR Pro 1.2
  • Ramps 1.4

My goal was to include the common options best suited for hobbyists (or very small-scale business). For you and other guys who have involved in this for awhile, just tell me what options you hear of people using.

Why I included 3D printer slicers is a good question. These two methods of fabrication seem to share a lot in common, both in terms of software, workflows, even parts of the machine, and cross-over users. Plus the fact that MPCNC can also convert to 3D printer. However, maybe that’s not terribly helpful and I should remove it for clarity and simplicity.

Originally I had the options for Shapeoko and X-Carve but I think (someone can confirm) that the options for each group are proprietary so I remove it since I didn’t think it would be useful for MPCNC folks trying to sort out option.

Of the 3D packages I’ve listed, I’ve seen Rhino 3D and TinkerCAD come across the forum, though these tools are not usual for MPCNC users. Based on reading, Carbide Create can output generic GRBL. I don’t know of an MPCNC user who uses Carbide Create. That makes sense since an overwhelming number of MPCNCs are run on Marlin. I don’t know if the other software packages offered by Shapeoko or X-Carve can output generic GRBL, but I read that they are GRBL based.

Another thing to clutter your boxes, some boards (SKR PRO) have built-in wireless so that delivering g-code can be done through a net interface. Never used it, so I cannot tell you more. I believe Tim is right that ESTLCam can be its own firmware on certain boards. And while I did not pay close attention to the topics concerning ESTLCam, I believe some MPCNC users use it.

I’m not sure where to tell you to post this chart. I’ve bookmarked it so that I can use and link to it for future forum answers. Thanks for creating it.

1 Like

I may be biased, but I think the docs is where this info should be held and shared. It will love longer there and be presented with less ambiguity. It also has a decent head start. So if stuff is missing, lets make a change request and we can work through it.

We should put it wherever you think it’s most useful. Happy to give back even in a small way. It’d be great to get more eyes on this so it’s “worthy” of putting into the docs. @jeffeb3 My motivation for doing this was to see it altogether in a concise view. It’s great to read more verbose docs but after awhile you’ve seen so many software names that it’s hard to keep track. At least for us noobs.

CNC.js works with marlin too.

1 Like

Could add Autodesk Inventor to CAD package.

Does Autodesk offer a hobbyist license for Inventor? Is it common for MPCNC users?

They offer it free to students and teachers. I used it for a long time on my wife’s Teacher’s account until F360 became more mainstream. Then I switched over to that. As F360 gets more and more limited, I keep considering going back to Inventor.