CAM software:
CAM is short for "Computer Aided Manufacturing".
Below you will find a couple of commonly used programs, starting with the least expencive.
Home of the EMC Open Source Machine Software, this is a complete Ubuntu operating system with an G-code reader/ writer program already installed, all you need to do is configure the INI file to suit your machines specifications and your good to go.
EMC LinuxCNC Features:
* Converts a standard PC to a fully featured CNC controller.
* Up to 6 axis cnc control
* Allows for inigration of ANY vector image generated or converted using a CAD progam.
* Visual G-Code display
* Generates G-code
* Spindle speed control
* Multiple relay control
* Manual pulse generation
* Includes multiple wizards
* Video display of machine
* Touch screen ability
* Full screen eligibility
* Digitizing
* MUCH MUCH MORE
Machines that can be controled using "Linux CNC" EMC include:
* Lathes
* Mills
* Routers
* Lasers
* Plasma
* Engravers
* Gear cutting
* Others
On to Mach_3...
Mach3 is not an open source program and will cost money but Mach3 one of the more reasonably priced G-code reader programs, it is designed for a Windows OS with some drawbacks.
Mach3 will not operate on older lap-tops using a DB25 interface, it also is used most commonly with a Parallel port. Mach3 takes control of the system CPU clock making it an independant OS hence the restart after install and the problems with operation on some lap-top machines..
Arduino can be used with Mach3, more information on how to set up Arduino ( a USB Interface VS. a Parallel COM or DB25 interface) can be found on this website, find it at how to make a USB driver board.
You have probably noticed that the "RepRap" 3D Printer Open Sourced "Micro-Controllers" use programs like "Sprinter" and "ReplicatorG". The firmware for those programs are "Merlin" or "Teacup", and some developers offer other alternatives. The Arduino IDE will show the PC connected to a COM Port, when in fact all Arduino "Atmega" based boards will show you connected to a COM port because of the FTDI chip found on the PCB.
MACH3 FEATURES:
* Convertion of a standard PC to a fully featured CNC controller.
* Up to 6 axis (motor) control
* Allows direct import of DXF BMP JPG and HPGL.
* Visual G-Code display
* Generates G-code
* Spindle speed control
* Multiple relay control
* Manual pulse generation
* Includes multiple wizards
* Video display of machine
* Touch screen ability
* Full screen eligibility
* Digitizing
* MUCH MUCH MORE
CONTROLLED BY MACH3
* Lathes
* Mills
* Routers
* Lasers
* Plasma
* Engravers
* Gear cutting Machines
* Others
FREE WIZARDS INCLUDED
* Gear cutting
* Digitizing
* Holes
* Slots and keyways
* Text engraving
* Many standard shapes
* Surfacing
* MANY MORE
* Other wizards from third party vendors
Rhino CAM
Pokeys
CAMBAM
RihnoCAM
You can run three steppers directly off your Arduino by G-Code from data on a .txt (text) file on your computer. Along with that is a visual GUI for connecting to the Arduino and showing the results of the code being read.
Below is a list of "G-code) and ("M-Code) used by running the software noted below and on the Arduino page of this website.
| Code | Description | FiveD 20100806 | FiveD 20110207 | Tonokip | Teacup (Triffid) |
|---|---|---|---|---|---|
| G0 | rapid move | No | No | No | Yes |
| G1 | Synchronised move | No | No | No | Yes |
| G2 | Arc | No | No | No | No |
| G3 | Arc | No | No | No | No |
| G4 | Dwell/pause | No | No | No | Yes |
| G20 | Units are Inches | No | No | No | Yes |
| G21 | Units are Millimeters | No | No | No | Yes |
| G22 | Units are Steps | No | No | No | No |
| G28 | Go to predefined position (0,0,0 if not specified) | No | No | No | Yes |
| G30 | Go to position then go to 0,0,0 | No | No | No | Yes |
| G90 | Absolute coordinates | No | No | No | Yes |
| G91 | Relative coordinates | No | No | No | Yes |
| G92 | Set offset/set current position | No | No | No | Yes |
| G161 | Find zero endstop (home) | No | No | No | Yes |
| G162 | Find max endstop (home) | No | No | No | Yes |
| M2 | Program End | No | No | No | Yes |
| M3 | Spindle (extruder) on, forwards | No | No | No | Yes |
| M4 | Spindle (extruder) on, reverse | No | No | No | No |
| M5 | Spindle (extruder) stop | No | No | No | Yes |
| M6 | Load tool specified by T word | No | No | No | Yes |
| M7 | Coolant (fan) on | No | No | No | Yes |
| M9 | Coolant (fan) off | No | No | No | Yes |
| M84 | Stop idle hold | Yes | |||
| M101 | Extruder on | No | No | No | Yes |
| M103 | Extruder off | No | No | No | Yes |
| M104 | Set target temperature | No | No | No | Yes |
| M105 | Read temperature | No | No | No | Yes |
| M106 | Fan on | No | No | No | Yes |
| M107 | Fan off | No | No | No | Yes |
| M109 | Set temperature and wait | No | No | No | Yes |
| M110 | Set line number | No | No | No | Yes |
| M111 | (f/w specific) | No | No | No | Yes (set debug flags) |
| M112 | Immediate stop | No | No | No | Yes |
| M114 | Read position | No | No | No | Yes |
| M115 | Read Firmware Identification | No | No | No | Yes |
| M116 | Wait (see M109) | Yes | |||
| M130 | (f/w specific) | No | No | No | Yes (set heater P factor) |
| M131 | (f/w specific) | No | No | No | Yes (set heater I factor) |
| M132 | (f/w specific) | No | No | No | Yes (set heater D factor) |
| M133 | (f/w specific) | No | No | No | Yes (set heater I limit) |
| M134 | (f/w specific) | No | No | No | Yes (save PID settings to eeprom) |
| M135 | (f/w specific) | No | No | No | Yes (set heater output) |
| M136 | (f/w specific) | No | No | No | Yes (read PID parameters) |
| M140 | Set Bed Temperature | No | No | No | Yes |
| M190 | Power On | No | No | No | Yes |
| M191 | Power Off | No | No | No | Yes |
| M200 | Report endstop status | Yes | |||
| M240 | (f/w specific) | No | No | No | Yes (Echo on) |
| M241 | (f/w specific) | No | No | No | Yes (Echo off) |
| M250 | (f/w specific) | No | No | No | Yes (read position, queue) |
| M253 | (f/w specific) | No | No | No | Yes (read arbitrary memory) |
| M254 | (f/w specific) | No | No | No | Yes (write arbitrary memory) |
http://www.shapeoko.com/wiki/index.php/Grbl_Controller for the VB 2010 open sourced CAM software, this is the source code and everything.
http://www.shapeoko.com/wiki/index.php/GRBL#Windows
XLoader A program that will upload the hex file to your Arduino.
Pre-Compiled Stepper Shield Compatible Hex Files:
Other CAM software packages: