CNC Machine Computer

When I decided to build my CNC machine, I peeled off one of the nodes from my linux cluster computer to use as the control computer for the machine. CNC control software can be expensive so the open-source community created a project for a controller called LinuxCNC. As with many open-source projects, this software is high quality. It can be downloaded as a CD image already embedded into a Ubuntu flavor of Linux.

The wiring of the computer to the machine is a bit difficult, but with care and thoroughness it can be readily accomplished. The controller software loads cutting programs called GCode. It translates the GCode into signals that it sends out through the parallel port of the computer. A device called a breakout board is hooked to the parallel port. The breakout board (BoB) takes each pin of the output connector from the computer and gives it a terminal that allows a wire hookup.

Each hookup of the BoB is attached to one of three(or more!) controllers for the X, Y and Z axes of the machine(front/back,left/right,up/down). Wires then run from the controllers to the stepper motors that drive the machine. A 30volt power supply provides the electricity for the motors to run.

The interface of the controller software is php and makes heavy use of pendants. Easily configurable by editing, I have created custom functions and buttons to perform necessary tasks. The software also has configuration software and a nice real-time visual display of the work being cut.