I've built two now.
The first one I built from scratch based on this design:http://www.instructables.com/id/Easy-to-Build-Desk-Top-3-Axis-CNC-Milling-Machine/
I'm happy with it now but it took way too long to build (about three months from beginning to end) and because I didn't really know what I was doing I overspent on some things and underspent on others, which I ended up replacing. All told with hardware and electronics it cost close to $700, but if I had to do it again I'm sure I could for for less than $500.
Two things I like about the design: 1) the design scales up and down easily (you just get different lengths of pipe for the frame), and 2) the gantry is fixed so it was simple to add a vacuum hose.
Two things I didn't like about the design: 1) Spinning threaded rods is inherently slower than pulling a belt so maximum speed isn't as fast as I would like (about 3/4 inch / second), and 2) since the gantry is fixed the base needs to be at least 2x your cutting area.
About two months ago I bought a ShapeOko:https://www.inventables.com/technologies/cnc-mill-kits-shapeoko
I'm using mine as the frame of a pick and place machine, but most people use it as a CNC mill. I got the mechanical kit and ordered the electronics from SparkFun (motors, switches, and a Uno board), Pololu (motor drivers) and Amazon (power supply). Total cost was under $450.
Assembly was a breeze (two evenings for the mechanicals, one for the electronics, and a weekend to tune and test). I'm really happy with it, and if I was starting over again I'd get another one of these frames instead of building my own from scratch.
Some on the ShapeOko forum (http://www.shapeoko.com/forum/index.php
) have mentioned you really need dual motors on the Y axis to reduce backlash; I can't comment on that because there's never lateral pressure on my pick and place nozzle head so there isn't any.
I agree with kf2qd that you should look at running GRBL on an Arduino to drive everything. It's got an active support group, the source code is well documented and easy to extend, and it's easy to install.
I hope this helps. Good luck!