The Bantam Tools Desktop CNC Milling Machine and Bantam Tools Desktop PCB Milling Machine uses the Synthetos TinyG motion control board. It supports the following G-code and M-code commands.
Full TinyG reference list (copied from the Synthetos wiki)
G-code | Command | Parameters | Description |
---|---|---|---|
G0 | Straight traverse | axes | Traverse at maximum velocity. At least one axis must be present |
G1 | Straight feed | axes, F | Feed at feed rate F. At least one axis must be present |
G2 | Clockwise arc feed | axes, F, I,J,K or R | Arc at feed rate F. Radius mode R is preferred over using Offset IJK mode. |
G3 | Counter clockwise arc feed | axes, F, I,J,K or R | Arc at feed rate F. Radius mode R is preferred over using Offset IJK mode. |
G4 | Dwell | P | Pause for P seconds |
G10 L2 | Set offset parameters | axes, P | P selects coordinate system 1-6 |
G17 | Select XY plane | G17, G18 and G19 set the plan in which the G2/G3 arcs are drawn | |
G18 | Select XZ plane | ||
G19 | Select YZ plane | ||
G20 | Select inches units mode | All G-code from this point on will be interpreted in inches | |
G21 | Select mm units mode | All G-code from this point on will be interpreted in millimeters | |
G28 | Go to G28.1 position | axes | Optional axes specify an intermediate point |
G28.1 | Set position for G28 | The current machine position is recorded (No parameters are provided) | |
G28.2 | Homing Sequence | axes | Homes all axes present in command. At least one axis must be specified |
G28.3 | Set Absolute Position | axes | Set axis to zero or other value. Use to zero axes that cannot otherwise be homed |
G30 | Go to G30.1 position | axes | Optional axes specify an intermediate point |
G30.1 | Set position for G30 | The current machine position is recorded (No parameters are provided) | |
G53 | Select machine absolute coordinates | Non-Modal: applies only to current block. Don’t use except for probing/homing. | |
G54 | Select machine absolute coordinate system | Don’t use except for special circumstances. This will cause all your milling operations to be wrong unless you select G55 afterwards. | |
G55 | Select default milling machine coordinate system | All milling operations should use this coordinate system | |
G56 | Select coord system 3 | Reserved for special software functions | |
G57 | Select coord system 4 | Reserved for special software functions | |
G58 | Select coord system 5 | Reserved for special software functions | |
G59 | Select coord system 6 | Reserved for special software functions | |
G61 | Exact stop mode | Motion will stop between each G-code block | |
G61.1 | Exact path mode | Continuous motion between G-code blocks - exact path will be traced | |
G64 | Continuous path mode | Same as exact path mode | |
G80 | Cancel motion mode | ||
G90 | Set absolute mode | ||
G91 | Set incremental mode | ||
G92 | Set origin offsets | axes | |
G92.1 | Reset origin offsets | ||
G92.2 | Suspend origin offsets | ||
G92.3 | Resume origin offsets | ||
G93 | Set inverse feedrate mode | ||
G94 | Cancel inverse feedrate mode |
M-code | Command | Parameter | Description |
---|---|---|---|
M0 | Program stop | ||
M1 | Program stop | Optional program stop switch is not implemented so M1 is equivalent to M0 | |
M2 | Program end | ||
M3 | Spindle on - CW | S | S is speed in RPM |
M4 | Spindle on - CCW | Not supported by milling machine spindle - it only turns clockwise | |
M5 | Spindle off | ||
M6 | Change tool | T | Supported by Otherplan 0.23 or higher |
M7 | Mist coolant on | The milling machine is not equipped with coolant | |
M8 | Flood coolant on | The milling machine is not equipped with coolant | |
M9 | All coolant off | The milling machine is not equipped with coolant | |
M30 | Program end | ||
M60 | Program stop |
Other | Command | Parameter | Description |
---|---|---|---|
N | label G-code block | line number | Line numbers are allowed, handled, and may be reported back in status reports. Don’t underestimate how useful this is for debugging G-code files. |
() | G-code comment | comment | G-code comments are supported. They are stripped and ignored, except for messages (below) |
; | alternate comment | comment | A semicolon is an alternate way to delimit a comment. This is not G-code “standard”, but is used by Mach and some Reprap codes. (available as of build 378.05) |
(msg….) | G-code message | message | G-code messages are comments that begin with the characters msg (case insensitive). These will be echoed to the operator |
Commands the milling machine does not support
The following commands are either not supported by TinyG, or supported by TinyG but not supported by th emilling machine or software. Files that contain unsupported commands may be unable to load, or lines containing unsupported commands may be skipped. If you find that you can’t import your file, or odd things happen like the spindle doesn’t turn on, check your file to see if it contains the following commands.
Command | Name | Description |
---|---|---|
G81-G85 | Canned cycles | A “canned cycle” is a way of performing repetitive machining functions like making holes or slots. A common one is G85, which is the “mill slot” command. It’s often used in g-code generated by PCB design software. TinyG (and thus the milling machine) doesn’t support this command, so files that contain it can’t be loaded. A workaround is to make a row of overlapping holes instead of a slot. |
G54, G56, G57, G58, G59 | Alternate coordinate systems | Coordinate systems other than G55 are not supported by the software, so make sure you use G55. In some cases, if your software uses a different coordinate system, manually editing the g-code file and changing the command (i.e. from G54 to G55) will make your file work properly. |
G18 | Select XZ plane | An uncommon command, but occasionally used by CAM software. There is a TinyG firmware bug that causes XZ arcs to be be interpreted incorrectly. We are working to fix this issue in future firmware versions. |
G93 | Set inverse feedrate mode | There is a TinyG firmware bug that either cancels the command as soon as you enter any other command, or causes older TinyGs to crash. |
E | Fixturing offset | Some CAM software will try to use the E command to set a fixturing offset, but this causes the software to ignore the entire line containing the E command. |
G40-G51 | Tool compensation | Some CNC machines use commands for specifying tool compensation, but TinyG does not recognize those commands. |
M4 | Spindle on - CCW | Not supported by milling machine spindle - it only turns clockwise |
M7 | Mist coolant on | The milling machine is not equipped with coolant |
M8 | Flood coolant on | The milling machine is not equipped with coolant |
M9 | All coolant off | The milling machine is not equipped with coolant |