The Duet controller supplied with the workbee by Ooznest in the UK has some downsides and some upsides. On the downside the G-code dialect it uses is a bit non-standard - it even has a few differences from the specifications in the Duet G-code wiki (G54 for machine co-ordinates) On the upside Ooznest have provided a suite of macros for some common functions but I discovered (the hard way) that they need to be used with caution. There are macros for; Homeall, Homex, HomeY and HomeZ Pause (job) and Resume The homing macros take no account of any fixtures on the machine bed, and homeall puts the X and Y moves on the same line so will go to the home position by the most direct route. Pause calls the homeall macro. Resume likewise will return to the point where the job was paused by the most direct route. I have modified homex, homey, pause and resume to allow jogging to a safe position before invoking the rest of the macro. I didn't bother with homez because straight up doesn't cause a problem and I could not modify the homeall macro because I have disabled "allow moves without homing" on my machine (because it effectively disables soft limits) and if I tried to jog one axis at a time the machine informed me that I had insufficient axes homed to allow this. I changed the pause macro to call my modified homey and homex macros rather than homeall so that I could allow jogging moves to a safe place before running the rest of the macro. One upside of the Duet G-code dialect is that it has a very useful message box with switches to allow various degrees of user response and the option of displaying jog controls. M291 P "message" R "Title" S(0,1,2,3) (X1, Y1, Z1) see Gcode S=switch S3 give an OK box and a cancel box. X1 etc displays jog controls. If anyone wants to make use of these macros - feel free, but, although I have tested them, you do so at your own risk - no warranties express or implied Alex. And just to stress the point - they won't work on standard grbl without changes.