KCNC - Klipper CNC Macro Package
This is a collection of macros to support CNC commands on klipper 3d printer software
G/M-code Support
The codes that are strikethrough are not supported yet
KCNC Macros
Gcode | Parameters | Description |
---|---|---|
KCNC_STATUS | - | Get KCNC Status (workspace, tools, etc) |
KCNC_SET_WORKSPACE | TARGET=0 | Set workspace, 0 is machine workspace, 1 is equivalent to G54 |
KCNC_HOME_MACHINE | - | Homes the machine using endstops |
Supported G-codes
Gcode | Parameters | Command | Description |
---|---|---|---|
G0 | axes | Straight traverse | Traverse at maximum velocity. At least one axis must be present |
G1 | axes, F | Straight feed | Feed at feed rate F. At least one axis must be present |
G2 | axes, F, I,J,K or R | Clockwise arc feed | Arc at feed rate F. Offset mode IJK or radius mode R |
G3 | axes, F, I,J,K or R | Counter clockwise arc feed | Arc at feed rate F. Offset mode IJK or radius mode R |
G4 | P | Dwell | Pause for P seconds |
G10 L2 | axes, P | Set offset parameters | P selects coordinate system 1-6 |
G10 L20 | axes, P | Set offset parameters | P selects coordinate system 1-6 |
Select XY plane | G17, G18 and G19 set the plan in which the G2/G3 arcs are drawn | ||
Select XZ plane | |||
Select YZ plane | |||
Select inches units mode | All Gcode from this point on will be interpreted in inches | ||
G21 | Select mm units mode | All Gcode from this point on will be interpreted in millimeters | |
G28 | axes | Go to G28.1 position | Optional axes specify an intermediate point |
G28.1 | Set position for G28 | The current machine position is recorded (No parameters are provided) | |
G30 | axes | Go to G30.1 position | Optional axes specify an intermediate point |
G30.1 | Set position for G30 | The current machine position is recorded (No parameters are provided) | |
G53 | Select absolute coordinates | Non-Modal: Applies only to current block | |
G54 | Select coord system 1 | ||
G55 | Select coord system 2 | ||
G56 | Select coord system 3 | ||
G57 | Select coord system 4 | ||
G58 | Select coord system 5 | ||
G59 | Select coord system 6 | ||
G90 | Set absolute mode | ||
G91 | Set incremental mode | ||
G92 | axes | Set origin offsets | |
G92.1 | Reset origin offsets | ||
G92.2 | Suspend origin offsets | ||
G92.3 | Resume origin offsets |
Supported M-codes
Mcode | Parameter | Command | Description |
---|---|---|---|
M0 | Program stop | ||
M1 | Program stop | Optional program stop switch is not implemented so M1 is equivalent to M0 | |
M2 | Program end | ||
M30 | Program end | ||
Change tool | No operation at this time |
M-codes that need customisations based on your hardware
Mcode | Parameter | Command | Description |
---|---|---|---|
M3 | S | Spindle on - CW | S is speed in RPM |
M4 | S | Spindle on - CCW | S is speed in RPM |
M5 | Spindle off | ||
M7 | Mist coolant on | Note that mist and flood share the same Coolant ON/OFF pin | |
M8 | Flood coolant on | Note that mist and flood share the same Coolant ON/OFF pin | |
M9 | All coolant off | Note that mist and flood share the same Coolant ON/OFF pin |
Klipper for CNC - PROs and CONs
Klipper benefits for hobby CNC
- easy install and configuration changes
- tmc driver support with endstop phase
- skew correction
- advanced macro capability
- broad 3d printer board support
- great kinematics that can be configured on the fly ( M204, SET_VELOCITY_LIMIT)
Klipper downsides for hobby CNC
- only 3 axis supported