GRBL Settings Pocket Guide Rev B
User Manual:
Open the PDF directly: View PDF .
Page Count: 2
Command
$$
$0=10
$1=25
$2=0
Setting Value Reverse X Reverse Y Reverse Z Setting Value Reverse X Reverse Y
0NO NO NO 4NO NO
1YES NO NO 5YES NO
2NO YES NO 6NO YES
3YES YES NO 7YES YES
$3=6
$4=0
$5=0
$6=0
Value
1
2
4
8
16
$11=0.020
$12=0.002
$13=0
$20=0
$21=0
$22=0
$23=1
This refers to the probe pins which by default are set to high using the Arduino's internal
pull up resistors. Grounding the pin tells GRBL the probe is tripped. For the opposite
behavior use the setting $6=1 which tells the system that a high is the probe trigger. You
must also install external pull down resistor with the $6=1 setting.
Think of this as cornering speed. A high values allows for fast motion around corners but
increases the risk of missed steps resulting in decreased accuracy. Conversely, lower
values reduce the speed around a corner decreasing the risk of missing steps while
potentially improving accuracy.
GRBL treats curves as a collection of small straight lines. This setting defines how smooth
the curves will be. The default is .002mm and will not likely need to be changed as this
value is below the accuracy of most machines.
YES
DIY Machining - GRBL Settings - Pocket Guide
The following settings are specific to GRBL v0.9 - For more information visit www.DiyMachining.com/GRBL
Explanation
Displays current GRBL settings stored in EEPROM (memory) of the Arduino
Step Pulse Configuration
Axis Direction
Step Enable Invert
Limit Pins Invert
Probe Pin Invert
Definition
View Settings
Step Pulse Length (µsec)
Step Idle Delay (msec)
Axis
Config.
Table
$10=3
Status Report
Junction Deviation (mm)
Arc Tolerance (mm)
This sets the length of the step pulse delivered to the stepper motors. The goal is to have
the shortest step pulse your motors can reliably recognize. The data is available on some
stepper motor data sheets otherwise 10 is a good default.
Sets the time delay in milliseconds that GRBL will power the stepper motors after a
motion command is complete. A setting of 255 tells the motors to stay powered on to
hold position.
Defines the step signal sent to the stepper motor drivers. By default the step signal starts
low and goes high to denote a step pulse event. See Axis Config. Table below.
Changes axis motion direction without changing wiring. See Axis Config. Table above.
Controls the signal sent to the enable pin of your stepper drivers. $4=1 sets the enable
pin to high. (Invert)
This refers to the limit switch pins which by default are set to high using the Arduino's
internal pull up resistors. Grounding the pin tells GRBL the limit switch is tripped. For the
opposite behavior use the setting $5=1 which tells the system that a high is the limit
switch trigger. You must also install external pull down resistor with the $5=1 setting.
Reverse Z
YES
YES
YES
Allows the user to change the direction of the homing cycle us the values from the Axis
Config. Table on page 1.
Feedback Units
Soft Limits (Enable/Disable)
Hard Limits (Enable/Disable)
Homing Cycle
(Enable/Disable)
Homing Cycle Direction
Defines the real time data sent to the user. By default
GRBL reports running state which cannot be turned off,
machine position & work position. The table to the right
details the settings. Note to send a combination of status
reports, simply add the values of the desired report types
and send this value to GRBL. For Example, say I want Work
Position (2) & Limits (16), I would send $10=18.
Report Type
Machine Position
Work Position
Planner Buffer
Sets position feedback units from mm to inches. $13=1 for inches or $13=0 for mm
Requires "Homing" be enabled and checks to see if gCode commands will exceed the
travel limits of the machine. $20=1 Enable $20=0 Disable
Requires limit switches be installed and looks for one of the limit switches to be
activated which triggers "Alarm" mode. In this mode, all machine motion, the spindle
and coolant are shutdown.
Requires limit switches be installed. Enabling this will lock out all gCode commands until
a "Homing" cycle is run.
RX Buffer
Limit Pins
For more information visit www.DIYMachining.com/GRBL
Command
Explanation
Definition
$24=50.000
$25=635.000
$26=250
$27=1.000
$100=314.961
$101=314.961
$102=314.961
$110=635.000
$111=635.000
$112=635.000
$120=50.000
$121=50.000
$122=50.000
$130=225.000
$131=125.000
$132=170.000
$#
$G
$I
$N
$N0=line
$N1=line
$x=value
$C
$X
$H
~
!
?
ctrl-x
Feed rate used in the "Homing" cycle once the limit switches are located. The lower the
value the more repeatable the zero position.
Z - Max Acceleration
(mm/sec2)
X - Max Travel (mm)
Y - Max Travel (mm)
Y (steps/mm)
Z (steps/mm)
X - Max Rate (mm/min)
Y - Max Rate (mm/min)
X - Max Acceleration
(mm/sec2)
Y - Max Acceleration
(mm/sec2)
Homing Feed (mm/min)
Homing Seek (mm/min)
Homing Debounce (msec)
Homing Pull-off (mm)
X (steps/mm)
Save GRBL Setting
Save Startup Block
Check gCode Mode
Z - Max Travel (mm)
Z - Max Rate (mm/min)
View gCode Parameter
View Parser State
View Build Info
Tells the machine how far to move away from the limit switches after finding the "Home"
position so as not to trigger the hard limits.
Tells GRBL how many steps are required to move the machine a given distance.
Steps/mm = (Steps per Revolution)*(Microsteps) / (mm per Revolution)
1) Steps per Revolution = 200 Typical - This is the number of steps required
for your stepper motor to make 1 complete revolution.
2) Microsteps - 1,2,4,8,16 - Is a setting on your stepper motor driver. A higher
value means lower torque but higher accuracy.
3) mm per Revolution - Determined by your machine setup. (lead screw pitch)
Defines the maximum speed for a given axis. This is found experimentally for each axis by
incrementally increasing the value and then sending a test gCode command to move the
axis. Be sure the command allows the axis to move enough to reach the maximum rate.
You will know the maximum speed when the stepper motors stalls. Reduce the value by
10-20% These values may be different for each axis.
Defines the maximum acceleration for a given axis. This is found experimentally for each
axis by incrementally increasing the value and then sending a test gCode command to
move the axis. Be sure the command allows the axis to move enough to reach constant
motion. If you decide to use a jog command make sure the jog increment is several
inches. You will know the maximum value when the stepper motors stalls. Reduce the
value by 10-20% These values may be different for each axis.
Used when soft limits are enable to tell GRBL the maximum travel for each axis. This also
requires the use of a homing cycle.
Feed rate used in the "Homing" cycle to locate the limit switches. Set this to the highest
value that does not cause the machine to crash into the limit switches.
Length of the software delay in milliseconds that minimizes switch noise. A value
between 5 an 25 is typical.
Starts buffered gCode commands. Used to resume cutting after a "Feed Hold."
Stops active cycle by controlled deceleration preventing position lose from missed steps.
Returns the active GRBL state & current machine & work positions.
Soft reset command retains machine position without powering down the Arduino.
GRBL Commands
Real Time GRBL Commands
Displays the startup blocks run each time GRBL is powered on or reset.
Command used to save a GRBL setting. Replace the "X" with a number from the list
above and the "value" with the corresponding setting.
Command used to save startup blocks. Substitute valid gCode commands for the "line"
portion and these will executed each time GRBL is powered on or reset.
Processes all incoming gCode commands but does not move the axis, spindle or coolant
so the user can check a gCode program.
Overrides the alarm lock to allow for axis movement.
Executes the homing cycle.
Cycle Start
Feed Hold
Current Status
Reset GRBL
Kill Alarm Lock
Run Homing Cycle
Lists work coordinate offsets (G54-G59), Predefined positions (G28 & G30), Coordinate
offset (G92), Tool Length Offset (TLO) & Probing cycle (PRB).
Displays the active gCode modes in the GRBL parser.
Example - [G0 G54 G17 G21 G90 G94 M0 M5 M9 T0 S0.0 F500.0]
Shows the GRBL version and source code build date.
View Startup Blocks
For more information visit www.DIYMachining.com/GRBL