EStop doing that!
I have always been a big proponent of emergency stop mechanisms on all my workshop machines. Most people are familiar with the simple power kill paddle. I have them on all my manual machines (table saw, router table, planer and so on). Do you really need one on a CNC machine? And, is a power kill switch good enough?
There are clearly cases when you want to kill all the power to a machine that is smoking or has a broken motor mount or similar machine malfunction. There are stories of routers going up in flames though most of those were unattended machines. (Object lesson, don't walk away from a running job!) You should have a way to quickly cut power in these circumstances but they are pretty rare. More likely, you will have a clamp break free or a broken bit or perhaps you forgot to set the Z position or whatever. A quick way to stop the action is invaluable. If you can do it without losing machine position then you stand a good chance of restarting the job once the problem has been resolved. And, if you are 4 hours into an 8 hour job, restarting where you left off is nothing but good. And if the workpiece is the last board from a Black Walnut your favorite Grandfather cut down and milled 30 years ago, restarting is, as they say, priceless.
I see three ways of stopping your machine while running a job: Life/Safety - kill the power, Job malfunction - stop all motors but retain position, and temporary - pause the steppers and spindle.
The Life/Safety case is straight forward. Use a high capacity switch to cut the electricity to the machine. Be sure to select one that can handle the current draw of your machine. If you are not a licensed electrician, hire one to help you. There are a wide range of switches to choose from - I like the Woodstock paddle switch to the left. Lots of capacity (up to 3 HP motors) and fits in a 1 gang electrical box. The large paddle with "STOP" on it leaves nothing to doubt. Even a 6 year child would know what it's for. It is also very hard to accidentally turn on, requiring a deliberate and strong push on the Start button. Make sure the switch is sited in a prominent location and doesn't require getting close to the machine. May you never have to use but if you do, you will be glad you have it.
When it comes to job malfunction, being able to stop the stepper motors, the spindle, dust extractor and coolant pumps but retain position information is worth while. My grblHAL breakout supports the EStop (also called Halt) input switch. When pressed during a job run, grblHAL goes into an Alarm state and stops the job. It cuts power to the spindle enable, stops the steppers and cuts power to the flood and mist relays. However, it does not affect machine position and your X, Y and Z zeros remain unchanged. At this point, you would clear the problem (reset the clamps, replace the bit, or whatever). Then you have choice of starting the job from the beginning or trying to resume where it left off. The former is simple but...
Resuming the job requires some effort. First thing you need to do is note the last GCode block executed. Your sender should have this in the display. You may need to edit your GCode file. Find a reasonable GCode block to start from. Preferably something with a rapid (G0) in it and a little bit before where the problem occurred. Better to waste a minute of machine time than miss a few cuts. Delete the code between the preamble and the new starting point. Another approach requires going back into your CAD/CAM software, finding the toolpaths that have already been executed and removing them. For 3D carves, you can create a box around the uncut area and generate tool paths for that. What ever you do will be very specific to your job but, hopefully, it will be fairly obvious. At this point, you can press the reset button in your sender and reload your modified GCode. If you changed the bit, reset the Z position. Then you can press Cycle Start. If all goes well, your machine should continue where it left off and Grandpa's prized Black Walnut board won't go in the burn pile.
The type of EStop switch is worth understanding. There is quite a selection of switches available. You could use a simple momentary contact switch but I prefer the type of switch that requires resetting, like this Uxcell switch, available on Amazon. There are hundreds to choose from and they aren't very expensive. The large "mushroom cap" button is clearly visible and easy to hit. When you press the button, it will stay pressed until you reset it by rotating the mushroom cap in the direction of the arrows. This is probably the most cost effective safety upgrade you can do you for your machine. So why are you waiting?
The final stop mechanism is Feed Hold (or Fd/Hld). This is another button that grblHAL supports and will simply pause the machine. The Spindle will pause but Mist and Flood will still be running. Pressing the Cycle Start (Cyc/St) button will resume job execution. This is useful for a quick tweak to say clamps or similar. It will not allow you to jog the Z axis so you won't use it to change a broken bit.
Hopefully you know my answer to the questions above. Now that you understand what is possible, I hope you are seriously considering adding these switches to your system. The cost is small and, when you consider the benefits, it should be an easy decision.
I'm Phil Barrett, a long time CNC enthusiast. I run a small company, Brookwood Design, that makes several breakout boards for grblHAL and love to help people get the most out of their CNC machines.