I have been playing with simple moving tables equipped with stepper motors since years.
Last year (2017) I decided to develop a “useful version” of the desktop CNC as a support tool for my hobby electronics. Once I started to have the first prototypes, it became a main hobby item itself with its never ending more and more improved versions.
I did not develop a Mach3 compatible interface, instead, I tried to develop a smarter device that directly accepts Gcode commands and executes them. We need to send it Gcode commands line by line. To do that, I developed a “streamer” and HMI of CNC that runs on a PC.