The information here applies to Carbide Motion version 3. The Shapeoko and Nomad 883 CNC routers sold by Carbide 3D rely on GRBL. Code is generated by a CAM program such as Mesh Cam 6 (Carbide 3D’s preferred software) and sent to a router by the proprietary Carbide Motion driver. The user does not usually see the commands, but may modify the .nc file generated by Mesh Cam, or may send single commands directly via the MDI (Manual Data Input) option in Carbide Motion.

Carbide 3D mills support the following (v0.8/0.9+), to some of which I have added the relevant parameters. Codes in bold are produced by Mesh Cam 6. Italicized codes are “accepted, but ignored.”

Supported G-Codes in v0.9h:

  • G38.3, G38.4, G38.5: Probing
  • G40: Cutter Radius Compensation Modes
  • G61: Path Control Modes
  • G91.1: Arc IJK Distance Modes
  • G38.2: Probing - The spindle descends until it contacts, and stops. The contact sensor is not in the spindle but in the button in the back next to the plate (usually to the right). Probing is used in tool length measurement, which Carbide Motion runs before entering Jog Mode and around tool change (see M6).
  • G43.1, G49: Dynamic Tool Length Offsets
  • G0 X[mm] Y [mm] Z[mm] A[?] B[?] - Rapid linear move to coordinates.
  • G1 X[mm] Y [mm] Z[mm] F[mm/min] A[?] B[?] - Linear move; without X/Y/Z, will set speed for a subsequent action. Y moves the bed, X and Z move the spindle.
    • Any combination of X[]Y[]Z[] by itself is treated as G0 or G1, whichever was used most recently.
  • **G2 **X[mm] Y[mm] Z[mm] I[mm] J[mm] K[mm] F[mm/min] - Arc (or helical?); will travel along a clockwise curved path from the current point to X[]Y[]Z[], around a center I[]J[]K[], at feedrate F[]. MeshCam will produce this code only if Enable Arc Fitting is checked. Driver support for the R[radius] arc format is uncertain.
  • G3: Like G2, counter-clockwise arc.
  • G4 P[s]: Dwell for P seconds
  • G10 L2, G10 L20: Set Work Coordinate Offsets
  • G17, G18, G19: Plane selection - set XY / XZ / YZ plane. XY is the default. This primarily affects which plane curves are based in. G18 or G19 will be useful if a curve perpendicular to the XY plane is needed.
  • G20 - Set units to inches
  • G21 - Set units to mm
  • G28, G30: Go to Pre-Defined Position
  • G28.1, G30.1: Set Pre-Defined Position
  • G40, G43, G49: Cancel radius offset compensation, set/cancel tool offset compensation - ignored.
  • G53: Move in Absolute Coordinates
  • G54, G55, G56, G57, G58, G59: Work Coordinate Systems - ignored.
  • G80: Motion Mode Cancel
  • G90 - Set absolute positioning (default state)
  • G91 - Set relative positioning (repeating a move command will result in further movement in the same direction)
  • G92 X[mm] Y [mm] Z[mm] A B E - Set coordinate offset
  • G92.1: Clear Coordinate System Offsets
  • G93, G94: Feedrate Modes
  • M0, M2: Program Pause and End
  • M3 S[rpm] - Turn clockwise at set speed (S - optional: set the speed)
  • M4 S[rpm] - Like M3, counter-clockwise
  • M5: Stop turning
  • M6 T[#] - tool change - Nomad 883 withdraws spindle, pauses and waits for user to switch tools. The command is generated, but not included on support list; it may be handled entirely by Carbide Motion and not by the CNC router. When run from a file, the switch is followed by a tool-length measurement. When the M6 command is sent through MDI, the measurement occurs before the Continue button appears, and any difference in the length of the tool inserted after that will not be taken into account by the router. When sending manual commands, change the tool before sending the M6 command rather than after.
  • M8, M9: Coolant Control - ignored - Carbide 3D does not currently sell any products with coolant.
  • M30 - Program End (spindle moves up and cutting board moves forward for human access)