Neumi @ github.com has build an Arduino based CNC project and source files are provided.
This is my scratch build Laser CNC Engraver and PCB Exposer. It uses a 150mW 405nm laser diode and two CD drive motors and mechanics. A Processing sketch calculates the position of the pixels and send them to an Arduino Mega, wich drives the steppermotors. A TTL driver is used to control the Laser. With the joystick you can control the laser. You can set the exposure time, so you can engrave foam, paper, leather, plastic and wood. If you engrave photo-coated PCBs its possible to harden the surface and create your custom made PCBs.
The resolution is at about 100 pixels/cm. The work area is 3,2 x 3,2 cm.
Arduino – Processing Laser CNC Project – [Link]