I have a CNC machine tucked neatly behind my couch (and conforming to all pertinent fire code).
Casually browsing eBay, I found a good deal in St. Louis. It is a Techno-Isel DaVinci. These are made for the corner of a school classroom. It was soon freighted to my apartment, where one can imagine the kind of reception it got from the property manager.
These are good machines and use ballscrews for linear motion. This is a good forum post describing how one fella refurbished his unit. I have calibrated the router speed with a tachometer and alignment to within 0.001" but I have not yet performed the full disassembly and grease swap; perhaps someday I will find the space.
My CNC machine is currently under control via a Windows XP virtual machine, using the out-dated software from its manufacturer. It is very light on features, so I will write a better client program when I find the time.
I program the machine directly in GCODE. Here is the manual for its controller, and its limited set of commands (with more limitations when drawing arcs in three axes). To design tool paths I first design the part in Autodesk Inventor, then measure the part digitally, transcribing key points into a spreadsheet. This spreadsheet, with a little more awk processing, turns into the final GCODE.
I have tried to use open-source CAM software (PyCam) with limited success in CentOS, and no success (yet) in FreeBSD.
I haven't done much to my machine in the way of hacking. I've installed lighting and a webcam, and emptied the vacuum residing underneath. In terms of calibration, I have a plunge tool for measuring Z-depth accuratly. I have milled some aluminum within 0.001" precision verified with my calipers.
I wish to make the following enhancements when I find time:
- Sniff the serial communication between the client program and machine; rewrite client for FreeBSD
- Mill a fourth dimension around the Y axis, so I can make parts for a jet engine
- Get a real workshop and relocate the machine there