Link to the github page:

Here is a little rundown of the machine I plan to build for myself.

I'm using M5 hardware, just because I happen to have a bunch of it on hand. M5 seems like the good size to use, but you can go M8 if you'd like for extra rigidity and bulk factor. I'm using 31.8 mm steel tubing, simply because I figured the marginal difference in cost savings now is not worth the hassle of having to buy new components, print new parts and assemble a new machine if I find I need the rigidity later. Besides, when was the last time you heard someone complain their router was too rigid? You can adjust the hardware and tubing size for your machine from the .scad file.

The printed parts will be made of PLA plastic. It has a higher UTS and Young's Modulus than ABS and is much easier to print. Simply put, PLA is more rigid than ABS and rigidity is important in a CNC. The parts are made fairly bulky to help with this as well. 

The drive system will be utilizing spectra line for cost reasons. It can be further braided into thicker lines if needed to reduce stretch. The actual disadvantage of spectra line over belts isn't the stretch though, it's the registration with the pulley. Namely spectra line doesn't have teeth. I'll experiment to see how much of an issue this is and how I can fix it. 

Each of the X and Y axis will be driven by a single, stationary motor mounted to the frame to simplify wiring. There is the option to add a second motor to each axis for more power but strictly speaking you only need one. Having each axis driven by a single motor helps avoid racking and skewing of the gantry from de-synchronized motors. The Z axis in my machine will be driven by M5 threaded rod rather than a lead screw for availability and cost reasons, I may switch to a lead screw later if performance turns out to be an issue but I doubt this will be the weakest link.

I'm open to questions, ideas, suggestions and request for features, so fire away.