Cre8ivdsgn wrote:What drove the choice of EMC versus Mach3? I am curious because I have used neither.
I must admit that some of the decision for LinuxCNC was philosophical. I like open source software. I'm not at all opposed to paying for good software. I'm all about capitalism and I view software as a product like any other. If I enjoy it enough, or it saves me enough time and/or money, I'm quite happy to buy software. I don't mind that open source software is free as in "free beer", but I'm much more interested in the fact that it's free as in "free speech". I run Linux on my notebook PC that I use for regular desktop computing tasks, and I run exclusively open source apps such as Firefox, Thunderbird, GIMP, LibreOffice, etc. It's not a titing at windmills philosophical sacrifice. I'm more productive and my costs are lower with the open source software, and that's been true for about ten years. Whenever I'm using someone else's Windows PC, I'm constantly aggravated and hassled by it. It performs a mandatory operating system update whenever it wants to. There are viruses and worms, even with antivirus software that reduces stability and brings performance to a crawl. It might even falsely accuse me of stealing software. Bleh.
Ignoring philosophical issues, I'd justify LinuxCNC on its technical merits. It runs under a truly realtime version of Ubuntu Linux. Mach runs under a realtime-ish version of Windows. The distinction may not be critical in this simple CNC router application, but hard realtime control is definitely a desirable feature in a CNC machine.
Another huge selling point is the support. There's a common and very reasonable sounding fallacy that people should buy commercial software because they need support and there isn't any for open source software. In practice, I've found almost the opposite to be true. It varies depending on the type of software, but I've generally found it easier to get help from a community of open source users and developers than from the manufacturer of commercial software. That certainly shouldn't be the case. When I buy software, I'm not paying for a shrink wrapped CD. If I was, it should cost under a dollar. I'm paying for the development and support, but it seems that support for most commercial software isn't very good. In the specific case of LinuxCNC, it's excellent! There is a large community of enthusiasts who are very willing to help. The developers try to make it easy to install and use, and LinuxCNC has gotten a lot better in that regard even in just the last year, but integrating CNC software with mystery hardware can be intimidating. There are people there to help. I know there is a community of Mach users too, but from what I've seen, Mach users seem to be more likely to be those wanting to buy a solution and be done with it, so the majority of them aren't as able to help, even if they were as willing. LinuxCNC developers are very active in the LinuxCNC support forum. LinuxCNC user support is readily available online, and for the difficult cases, I've seen examples of one user driving an hour to provide hands-on help to get a newbie off on the right foot.
Finally, and this should admittedly be a minor issue, I don't care for the appearance of the Mach user interface. I suppose it's designed to look friendly, and I suppose it succeeds in that respect, but I'm not a fan of the bright primary colors. LinuxCNC has several possible user interfaces and the user is free to change the front end, but most people use the default Axis interface which looks similar to most modern commercial CNC flat panel user interfaces.
For a common stepper based system like this CNC router, LinuxCNC should be as easy as installing the operating system and application from the CD, wiring the inputs and outputs to the parallel port I/O board, selecting the stepper based CNC router configuration, tweaking the config for the number of steps per inch on each axis, and running LinuxCNC. Stay tuned and see how comically wrong that boast turns out to be!