Hey B.,
1. Switching milling motor off during program pause
You can switch off a hand router during pause, but this in most cases does not apply to a ModBus-controlled VFD and spindle. Cheap chinese VFDs like the Huanyang, when in ModBus mode, cannot pause the spindle except when the program tells it so (and it doesn’t during pause). So when letting the machine pause an active g-code program for a longer period, either you would have to let the spindle run during all the pause time, or you would forgo controlling the spindle through the CNC controller with Modbus and set the VFD to manual spindle control mode (which in most cases is not what you want). An exception are some VFDs from Omron/Hitachi, which have a ModBus Override mode. See here and here for details. I believe the VFD from @PwnCNC can also be offered in a version with ModBus Override switch, but I’m not sure if I remember correctly. So with such a Modbus override switch, you would be able to switch the spindle off during pause (or by the way, alter spindle speed).
2. Homing repeatability in case of shutdown or power off during pause
Usually it’s good to not rely on the CNC controller and the stepper motors retaining their state when pausing a job for longer periods. It’s better to always be able to resume an interrupted g-code program. For this, you need perfect homing or zeroing repeatability. The Standard (Original) Series Onefinity machines with the buildbotics-based Onefinity Controller have no limit sensors but rely on stall homing instead, which unfortunately offers no good homing repeatability.
With these machine/controller models, there are two ways to be able to get acceptable homing/zeroing repeatability in order to be able to resume an interrupted program:
3. Resuming an interrupted g-code program
Unfortunately, the Standard Series Onefinity Controller does not allow you to start a g-code program somewhere in the middle. But in case your program was interrupted – may it be intentionally or unintentionally by a power outage – you can either simply “mill air” for the part to the program that was already achieved until you come to the part that is still undone, or you edit the g-code program by hand (using a text editor) and cut away the portion that was already milled. In this case, you would need an acceptable knowledge of g-code programming because you would have to retain the modal commands at the beginning of the file or of the tool pass.
4. Preset the correct display resolution
Also, there is some discussion regarding the display not connecting if it is not turned on before the controller. Is it likely that if you turn off the display after pausing, the display may not re-connect when you turn it on again?
The Raspberry Pi inside the Onefinity CNC Controller, when in stock configuration, is set to request the monitor’s capabilities like maximum resolution using EDID. This may fail in case the monitor is not ready at controller startup and result in a fallback to VGA resolution (which is not what you want, especially when using a touch monitor, because the touch device will then not be in sync with the screen content). So it needs to get the right resolution at boot time which is why the Onefinity manufacturer tells the users to first switch to monitor on, and only a few seconds later, the Onefinity CNC Controller.
When switching the monitor on and off later, the Controller should still know the resolution.
However always having to switch on the monitor first and the CNC controller only a few seconds later is not always desirable, e.g. in case you switch everything on with a common power strip.
In this case, you should know that there exists a hack that preconfigures the Onefinity CNC Controller to already know the display resolution at boot time, so you don’t have to worry to turn on the monitor first. You can find it here: Display resolution preset, but to benefit from it, you need to edit and save a config file in the Controller using the CLI. You first need to find out what the native resolution of your monitor is (see monitor’s manual or tech datasheet), and then you find the corresponding mode number in the list on the link provided, and put it into your Onefinity Controller’s boot config text file, and from then on it will always boot into the correct display resolution, even if the monitor is not on at startup.