Configuring Grbl (Arduino Based CNC-Controller)

Start by getting to know the shortcut keys

  • Ctrl + X = Restart Grbl
  • ! = Pause
  • $ = Help
  • ?  = Current Position/Status
  • $$ = Current Settings
    • $x=val – ‘x’ being the number of the setting to be changed and ‘val’ being the new value.
  • $H = Homing Cycle return to X,Y,Z = O.O

Basic Calibration

Before a CNC machine can be used, it needs to be calibrated. Calibration is done by comparing the input to the output the machine is producing. (Cad Design compared to the actual object produced).

In a nut shell CNC machines can accurately control the movement of the machine by making small steps/increments AKA Steps. To calibrate it we will define how many steps it will take for a set distance. Usually steps per millimeter(step/mm).

Grbl stores these setting as follows:

  • $0 – X axis Steps / mm
  • $1 – Y axis Steps / mm
  • $2 – Z axis Steps / mm

I usually create squire CAD object that I run on the machine and then measure each side. If one of the dimensions are to0 small  I will increase the steps/mm for that axis till it is correct. The same goes for if one of the dimensions are to0 big, just decrease the number of steps till it matches the size on the Cad design.

Stepping Pulse RatesStepper drivers are designed for different stepping rates. In other words that is the amount of time the stepping pin needs to stay high for the driver to register it has received the step signal. This is usually between 5 and 50 milliseconds. The faster the feed rate the harder it will be for the stepper driver to keep up. It’s recommend to keep the Pulse rate a bit longer than the drivers are rated for.

This setting is set with $3. Eg. $3=10

Advanced Calibration

For more on advanced calibration have a look at the official GRBL wiki. https://github.com/grbl/grbl/wiki/Configuring-Grbl-v0.8

If you are interested in making your own CNC machines we recommend you have a look at the following books:

Leave a Reply