I am a LinuxCNC guy myself but the machine I purchased from AvidCNC uses Mach4. Once the electronics get old I am dumping Mach4 and going back to LinuxCNC. I am not impressed. I have no ill will or animosity towards Mach4 but it's just not production ready. It has a bunch of really troubling bugs. The tool carousel is of course a self contained unit and will work with any controller that can open a TCP/IP socket and send datagrams.