Glad to hear your wiring is sorted out. Sorry it didnât resolve the noise problem in the endstop wiring.
The eStop pin on the CNC shield is wired to the restart button of the Arduino. I donât think you want your endstops resetting the microprocessor.
When running a CNC job, the job itself uses âwork coordinates.â Limit switches establish âmachine coordinates.â There are some tasks (tool changes, cutting multiples of the same job in a set of fixtures) where machine coordinates are helpful, but they are not needed to run a job.
To run without endstops, first make the following configuration changes to grbl:
$20 = 0 (disable soft limits)
$21 = 0 (disable hard limits)
$22 = 0 (disable the homing cycle)
You could also set $5 and $23 = 0 but thatâs really just returning them to the âout of the boxâ defaults. They wonât have any effect on your work. Nor will $24-27.
By default, when the grbl controller starts up it begins in an alarm state. You can modify this by recompiling the firmware, but you can also just start each session by âunlockingâ the machine. In cncjs thereâs an âUnlockâ button for this at the top right of the screen. You can also send $X from a console to kill the alarm lock. The machine should now be ready to move, using gcode commands or the buttons in your control software.
From here on out, you should be able to follow the instructions in the Docs sections.
Load the gcode into your gcode sending program. Install and secure the workpiece to the machine.
Youâll need to tell the controller the location where you want the job origin (X=0, Y=0 and Z=0) to be. This needs to be set relative to where youâve physically attached the workpiece in the machine. Most often the job origin is set to the left hand corner (minimum X travel) nearest the front of the machine (minimum Y travel) of an imaginary box inside of which all the cuts are made, and with the tip of the tool just touching the top surface of the workpiece. Once the tool is in the desired origin position, execute the command
G92 X0 Y0 Z0.
This will set the work coordinate origins for all 3 axis to the current position. You can also do this one axis at a time, if needed. For example, after changing tools you may want to get the new tool touching a the top surface of the workpiece and send G92 Z0 to reset the Z origin without changing X or Y. Once the origin is set, you can move the machine around however you like, but when you start the job all instructions will be run relative to where the job origin was set.
The Crown gcode that Ryan has built as a test is a good example of this. When you load the gcode in a gcode sender that includes a preview, you can see that none of the lines in the crown touch the origin, but all moves are relative to the job 0,0,0 coordinates. Ryan has also included the G92 command in his pre-built gcode. This is not universal practice, as folks have their own preferred methods for setting up and starting their jobs. Options include telling the software you use to generate gcode for your jobs to include the G92 command, setting up macro buttons in your gcode sender, or doing it manually.
Once youâve got the workpiece fixed in place and the origin set, you may want to move the tool up a little bit then move the machine to the extents of X and Y motion within the job (many gcode senders display this information) to be sure all the moves are completely within the mechanical limits of the machine before starting the job. This is sometimes referred to as an âair cut.â If something is out of whack, you figure that out without ruining a work piece.
Good Luck!