I still have some work to do, (not the least of which, finding my digital camera), but I'll get some pics up real soon. Basically, it's built as cheaply as possible, mainly out of 1"x3" pine "strapping". I have two old bipolar steppers I salvaged out of an old DJ light (they're the same ones used in printers). I have a threaded rod running through skateboard ball bearings with a nut connected (zip tied) to a flat aluminum strip so that when the motor turns the rod, the nut moves the strip back and forth the length of the machine. Above the rod is a 4'x1' pine board for a work surface, with small aluminum angle-irons for rails. The gantry (also made of strapping) rides on shower curtain rollers (the ones for the big glass shower curtains) which ride on the top and sides of the angle-irons. The gantry has a cog belt from an inkjet printer I found on the side of the road which moves a piece of strapping with nylon spacers used as bushings that ride on 3/8' steel rods.
I built the whole thing for about $100 bucks (including the Arduino and motor shield, but not including the motors and printer parts). Right now it just draws squares with a sharpie, but I'm trying to calibrate it and get it working with ReplicatorG
I have no prior CNC machine experience, so the main purpose of this machine is to figure out how to build a working one, and hopefully use it to make parts for a better one in the future.
The motor shield works great for the two stepper motors (they're relatively small) and I'll have a servo for vertical movement. Right now I'm just focusing on cutting 2D shapes out of wood with a RotoZip tool, the vertical axis is just for picking up the tool to move to another place and for plunging into the wood, I'll worry about 3D printing on my next build. The chips on the board get somewhat warm (but not hot) when the motors have been running hard for a while, so I'm not sure I'd recommend it for motors bigger than those in a printer without the use of heat sinks. I'm powering the motor driver (and thus the motors) on 12vdc from an old ATX computer power supply, this also gives me 5vdc that could power the logic circuits (the Arduino), but for now I'm just running that off USB.
The problem with the motor shield is that it can only handle two stepper motors, which is why I'm not focusing on 3D printing just yet (I don't really trust the servo to get the same accuracy as the steppers). I remember seeing something in the documentation for the stepper library about wiring a ULN2003/4 chip to run a motor with only 2 wires to the Arduino instead of 4, so I'm going to look into that before I start getting into 3D printing. The problem with the motor shield is that it uses 4 wires per stepper, so there's 8 less pins I can use for other things (like limit switches), but it does leave pins 2 and 13 open as well as all of the analog pins. I'm probably going to use pin 2 for a bunch of limit switches wired in series.
Pin 13 is not used, but unlike pin 2 which is wired to a separate terminal hole for use, pin 13 is just terminated on the board. When I soldered the board together, I stuck an LED in with the leads jammed into the holes with the header pins for GND and 13 so I can use that as a status LED. I wouldn't really want to use pin 13 for anything other than an LED since it already has one on it which could give strange readings.
Overall, I like the Adafruit motor shield, it's great for plug and play robotics and stuff, but I think I'm going to go the RepRap way and just make my own board with the ATMega328 and motor controllers all on one board to simplify things.