Homing and the Special Position Buttons



In GRBL Panel, there are two user programmable buttons Special Position 1, and Special Position 2, that are handy for several purposes.  These buttons are programmable to any position on the machine simply by moving the machine to that position, and programming the button to remember the location.  These buttons remember their position even if power is removed from the machine, so they will still be set next time you power up.

In order to program these buttons, make sure the machine is located where you want it to be, and click on the Settings tab at the top left.  In the center of the page at the bottom are two lines labelled G28 and G30.  These lines have the Label, 3 location boxes for X, Y, and Z position, and a Set button.  The G28 line sets the Special Position 1 button, and the G30 line sets the Special Position 2 button.  Click the Set button next to the button you want to program, the numbers in the boxes should change to the same numbers shown in the X, Y, and Z position boxes on the main screen. 

The button is now set to that position.  At any time, the machine can be returned to these co-ordinates from anywhere on the table by simply pressing the associated button.  This is handy for several operations:

  1. I always set SP1 button to 0,0,0. This means I can return to the starting point of any workpiece (as long as it was originally positioned correctly) simply by pressing the SP1 button.  This is handy when using a locating jig to do multiple pieces with the same pattern.  When the job is finished, just place a new workpiece in the jig, press the SP1 button, and you are ready to go again.  Note:  Even if you change the physical zero location on the machine, this button will still return to whatever the zero point is now.  No matter where you set the zero point, this button will always return to that exact position, even if you change it after the button has been programmed.  (This assumes it is set to 0,0,0)
  2. If you have Homing switches installed, after the machine is homed and zeroed at the home position, pressing SP1 will bring the machine back to home from anywhere on the table without having to go through the whole homing process again. Unless, of course, you have re-zeroed somewhere else.
  3. Also, if Homing switches are installed, the SP1 and SP2 buttons provide a way to recover from a power failure or similar issue without having to throw away your work and start again.
    1. Before starting a job, home the machine and zero it out. Make sure SP1 is set to 0,0,0 as above.  Now move the machine to the starting point (origin) of the G-code in use over your work.  Lower the Z axis and set it using the Probe function or with the paper test.  Once all 3 axes are set in the correct position, set the G30 (Special Position 2) button to this location BEFORE zeroing out the machine again to start the cut.
    2. Now use the Disconnect/Connect or E-Stop button to zero out the machine for the start of the cut.
    3. Commence the cut as usual. If the power should fail, or something else causes the machine to stop cutting, you can recover and restart the program.  Re-home the machine, and zero it out using Disconnect/Connect.  Now press SP2, the machine should return to its original position over the work.  Now zero it again using Disconnect/Connect, and the job can be restarted.  Remember to hit the Rewind button on your G-Code window to restart the program from the beginning.  Note:  This will restart your job from the beginning.  Any part already cut will be done again, but this should not hurt the work as it has already been cut.  Note:  This will not work if the machine has lost its position information by manually moving or stopping an axis, crashing into an end stop, or resetting the machine position manually.
  4. There are lots of applications for the SP1 and SP2 buttons. They can be programmed to any position on the table.  Any operation that requires repetitive resetting of the machine position can benefit from using these two buttons.  Remember, however, that all positions of the machine are RELATIVE to the 0,0,0 point set.  If the machine loses position by running into the end of an axis or stalling in a cut, the Zero position will be lost.  This can also happen if you change the machine zero point manually.  The buttons will no longer be correct if any of these things happens, their position will have to be reset.  Also, if you set the position of one of the buttons far from the zero point, and then you move the zero point, the button position can be shifted so it is outside the limits of the table.  Pressing the button at this point will cause the machine to try to move outside it’s mechanical limits, and cause a crash into the end of one or more axes.
  5. Remember that the machine stores these positions in memory and that they are not lost on power down. This means that the positions stored may not be correct if the machine is powered up or zeroed in a place other than where it was zeroed when the buttons were set.  The only exception to this is if SP1 is set to 0,0,0.  This zero point will ALWAYS be zero even if the machine is manually zeroed at some other location.  The new zero location now becomes the SP1 position.