Computer numeric control (CNC) is a common sight in industrial manufacturing, allowing for higher speed and greater accuracy than hand assembly, and is becoming increasingly popular in maker circles thanks to clever homebrew devices like Joris Van Looveren's recently-completed XY-Table.
Built to aid in the manufacture of home-etched printed circuit boards by automatically drilling the holes - one of the most tedious and time-consuming parts of the process - Joris' well-documented project began with the creation of a custom circuit board, drilled by hand to bootstrap the project, which allows an inverted Arduino Uno to drive the stepper motors that provide motion to the project. Once created and tested, Joris' next step was to build the table itself - and he turned to Lego in order to quickly assemble a proof-of-concept prototype.
With the prototype up and running, Joris' next step was a more permanent build based on low-cost MDF and using laser-cut plastic gears. Impressively, Joris' creation includes heads which can be quickly swapped out depending on task: so far, he's made a pen head for using the XY-Table as a plotter, and a micro-drill head for his original task of completing home-made printed circuit boards.
To go with the hardware, Joris wrote some Python code which provides the controlling logic from an attached PC. Taking scalable vector graphics (SVGs) as input, the software is tailored for the specific driver board he built: the GRBL software, typically used in Arduino CNC projects, requires pulse-width modulation (PWM) control of the connected motors, something Joris' board design doesn't allow.
For anyone interested in building their own low-cost CNC machine, Joris' project is a great start.
The axle bearings are laser-cut from plexiglass. They have mounting holes for M4 bolts. The axle hole is just wide enough to allow the axle to turn freely, without noticeable play. The lower end of the motor mount has the same dimensions as the axle bearings, to make sure the axle hole lines up with a regular bearing on the other end. The top end has cutouts for mounting the motor. These are elongated so the motor can slide up and down, depending on the gear size.