GRBL Settings Guide: Complete CNC $ Parameters, Setup & Troubleshooting
Complete GRBL Settings Guide: Essential $ Parameters, Configuration and Troubleshooting for Desktop CNC Routers
Introduction
For desktop CNC router users, GRBL firmware is the core system that controls machine movement and machining operations.
By adjusting GRBL settings and $ parameters, users can optimize CNC performance, including:
- Motor movement accuracy
- Homing direction
- Maximum travel speed
- Acceleration settings
- Spindle speed control
- Laser engraving mode
During daily CNC operation, users may encounter common issues such as:
- Engraving dimensions not matching the design file
- Incorrect CNC homing direction
- GRBL Alarm errors
- Spindle speed not reaching the expected value
- Laser mode not working properly
Most of these problems can be solved by correctly configuring GRBL parameters.
This guide explains the most commonly used GRBL settings for desktop CNC routers, including how to check and modify parameters, calibrate machine accuracy, configure homing settings, and troubleshoot common CNC problems.
1. What Are GRBL Parameters?
GRBL is an open-source CNC firmware widely used in desktop CNC routers, CNC engraving machines, and laser engraving systems.
The official GRBL source code and development information can be found in the GRBL open-source CNC firmware repository.
GRBL uses $ parameters to control different machine functions, including:
- Motor movement accuracy
- Maximum travel speed
- Acceleration
- Homing function
- Software limits
- Spindle control
- Laser mode
Users can connect their CNC machines through control software such as:
- Candle
- Universal G-code Sender (UGS)
- OpenBuilds CONTROL
Then, GRBL settings can be viewed and modified through command inputs.
2. How to View and Modify GRBL Settings
2.1 Check Current GRBL Parameters
After connecting your CNC router to control software, enter:$$
The system will display all current GRBL settings.
Example:
$0=10
$1=25
$20=0
$22=1
$100=80
$110=500
These values represent the current configuration of your CNC machine.
Before modifying any parameters, it is recommended to save the current settings by using:$$
This allows you to restore the previous configuration if needed.
2.2 Modify GRBL Parameters
The GRBL parameter format is:
$Parameter number=value
Example:
Modify X-axis Steps/mm:
$100=80
After entering the command, the setting will be saved automatically and take effect immediately.
For a complete list of GRBL commands and configuration options, refer to the official GRBL parameter reference documentation.
3. Common GRBL Settings Explained
3.1 Steps per Millimeter Settings
$100: X-axis Steps/mm
$101: Y-axis Steps/mm
$102: Z-axis Steps/mm
These parameters determine CNC movement accuracy.
For example:$100=80
means the controller uses the configured number of step pulses to move the X-axis by 1mm.
How to Fix Incorrect CNC Engraving Dimensions?
One of the most common CNC router problems is incorrect engraving size.
For example:
Designed size:100mm
Actual machining size:98mm
This usually indicates that the Steps/mm value needs calibration.
The calculation formula is:New Steps/mm =Current Steps/mm × Design Size ÷ Actual Size
Example:
Current setting:$100=80
Calculation:80 × 100 ÷ 98 = 81.63
New setting:$100=81.63
After modification, run another test cut and verify the result.
3.2 Maximum Travel Speed Settings
$110: X-axis Maximum Rate
$111: Y-axis Maximum Rate
$112: Z-axis Maximum Rate
Unit:mm/min
Example:
$110=5000
means the maximum X-axis travel speed is 5000mm/min.
If the speed is set too high, it may cause:
- Stepper motor skipping
- Reduced machining accuracy
- Excessive vibration
The recommended values depend on:
- Machine structure
- Linear guide system
- Drive mechanism
- Motor performance
3.3 Acceleration Settings
$120: X-axis Acceleration
$121: Y-axis Acceleration
$122: Z-axis Acceleration
Acceleration determines how quickly a CNC router reaches the target speed during movement.
If acceleration is set too high:
- Stepper motors may lose steps
- Machine vibration may increase
- Machining accuracy may decrease
If acceleration is set too low:
- Machining efficiency decreases
- Cutting time increases
For desktop CNC routers, acceleration should be adjusted according to:
- Machine frame rigidity
- Linear motion system
- Motor torque
- Cutting tool requirements
4. GRBL Homing Settings and Configuration
Homing is an essential function that allows a CNC machine to establish its machine coordinate system.
A correctly configured homing cycle ensures that the CNC router can accurately locate its mechanical origin before machining.
Common GRBL homing parameters include:
|
Parameter |
Function |
|
$22 |
Enable/disable homing |
|
$23 |
Homing direction |
|
$24 |
Homing feed rate |
|
$25 |
Homing seek rate |
|
$27 |
Homing pull-off distance |
4.1 Enable GRBL Homing Function ($22)
Parameter:$22
Enable homing:$22=1
Disable homing:$22=0
When enabled, the CNC machine will automatically move toward the limit switches during the homing cycle and establish the machine origin.
4.2 Change Homing Direction ($23)
The $23 parameter controls the homing direction of each axis.
If your CNC router moves in the wrong direction during homing, check this parameter.
Common symptoms:
- X-axis moves away from the limit switch
- Y-axis moves in the opposite direction
- Z-axis moves upward/downward incorrectly
Check the current value:$23
Modify the setting:$23=1
The correct value depends on:
- CNC machine structure
- Limit switch installation position
- Coordinate system direction
After changing $23, always test the homing cycle to confirm that each axis moves toward the correct limit switch.
4.3 Adjust Homing Pull-Off Distance ($27)
After completing the homing cycle, the CNC machine moves away from the limit switch by a defined distance.
Parameter:$27
Example:$27=5
This means the machine will move 5mm away from the limit switch after homing.
If the pull-off distance is too small:
- Limit switches may remain triggered
- Homing errors may occur
If the distance is too large:
- Available machining area may be reduced
5. GRBL Spindle Speed Settings
GRBL controls CNC spindle speed through spindle-related parameters.
The two most important parameters are:$30,$31
5.1 Maximum Spindle Speed ($30)
Parameter:$30
This defines the maximum spindle speed output by GRBL.
Example:
For a 2.2kW CNC spindle:$30=24000
Maximum spindle speed:24000 RPM
The $30 value should match the actual maximum RPM of your spindle.
5.2 Minimum Spindle Speed ($31)
Parameter:$31
Example:$31=0
This means the minimum spindle speed is 0 RPM.
Important:
The spindle speed command generated by CAM software cannot exceed the $30 value.
Example:
GRBL setting:$30=12000
CAM output:S18000
The spindle will not reach 18000 RPM because the maximum output is limited by $30.
For users creating CNC toolpaths, Autodesk provides official Fusion 360 CAM tutorials covering CAD/CAM workflows, toolpath generation, and CNC machining processes.
6. GRBL Laser Mode Settings
GRBL also supports laser engraving applications.
Laser mode is controlled by:$32
Disable Laser Mode
$32=0
Suitable for:
- CNC milling
- Wood cutting
- Plastic machining
- Standard spindle operations
Enable Laser Mode
$32=1
When laser mode is enabled:
- Laser power dynamically adjusts according to movement speed
- Reduces burning caused by stopping or slowing down
- Improves engraving quality
For normal CNC machining, it is recommended to keep laser mode disabled:$32=0
7. Common GRBL Alarms and Troubleshooting
GRBL alarms protect the CNC machine from abnormal operation.
Below are common GRBL errors and solutions.
Alarm 1: Soft Limit Triggered
Possible causes:
- Toolpath exceeds machine working area
- Incorrect work coordinates
- Incorrect machine position
Check:$20
Disable software limits:$20=0
Enable software limits:$20=1
Before enabling soft limits, make sure homing and machine coordinates are configured correctly.
Alarm 8: Homing Failed
Possible causes:
- Incorrect homing direction
- Limit switch problem
- Homing speed too high
Check:
- $22
- $23
- $25
- $27
Also check:
- Limit switch wiring
- Mechanical movement
- Axis travel smoothness
Incorrect Engraving Dimensions
If the finished size does not match the design file, check:
- $100
- $101
- $102
These parameters control X, Y, and Z-axis Steps/mm.
Recalibrate the values based on actual machine movement.
Spindle Cannot Start Correctly
Check:
- $30
- $31
- $32
Also confirm:
- CNC software outputs the correct spindle speed command (S value)
- Spindle driver or VFD settings are correct
- Wiring connections are properly installed
8. How to Restore GRBL Factory Settings
If incorrect parameter changes cause abnormal CNC operation, GRBL settings can be restored to default values.
Enter:$RST=*
After resetting: All GRBL parameters will be restored to factory defaults.
9. Important Notes When Modifying GRBL Settings
9.1. Always back up your settings
Before changing GRBL parameters, use:$$
to save the current configuration.
9.2 Avoid changing low-level parameters unnecessarily
Parameters such as:
- $0
- $1
- $12
may affect:
- Stepper motor operation
- Signal stability
- CNC interpolation accuracy
Incorrect values may cause unexpected machine behavior.
9.3 Test the machine after modifications
After changing GRBL settings, perform basic tests:
- Manually move each axis
- Run the homing cycle
- Perform a dry run with G-code
- Verify machining accuracy
10. Conclusion
GRBL settings are essential for achieving accurate and stable performance on desktop CNC routers.
With proper configuration:
- $100-$102 calibrate machining dimensions
- $22-$27 adjust CNC homing functions
- $30-$31 control spindle speed range
- $32 enables or disables laser mode
Understanding GRBL parameters helps CNC users optimize machine performance, reduce setup time, and solve common CNC troubleshooting problems.
For CNC beginners, learning how to configure GRBL settings is an important step toward achieving more accurate, reliable, and efficient machining results.
Frequently Asked Questions (FAQ)
Q1: How do I view GRBL settings?
Connect your CNC router to control software and enter:$$
The system will display all current GRBL parameters.
Q2: Why is my CNC engraving size incorrect?
Incorrect engraving dimensions are usually caused by incorrect Steps/mm settings.
Check:
- $100
- $101
- $102
and recalibrate according to actual machine movement.
Q3: How do I change GRBL homing direction?
Adjust the $23 homing direction parameter.
Example:
$23=1
The correct value depends on CNC machine structure and limit switch position.
Q4: How do I restore GRBL default settings?
Enter:$RST=*
This restores GRBL parameters to factory defaults.
Remember to configure your machine settings again after resetting.