Automatic 3-axis in Easel - Yes! it's possible

I decided to have another crack at getting @CharleyThomas’ 3-axis touch plate (found here and oh, btw, he has them for a 30% discount at the moment) working in Easel. With access to the Machine Inspector, and since you can in fact manually type all the necessary commands into the command field to issue GRBL commands, there was no real reason it shouldn’t work. Easel[edit] doesn’t support storing the offset values set with the G92 command. No worries, they’re not needed.

This works on Windows and Mac platforms; QuicKeys is available for both.

I, however, use a Mac and installed the QuicKeys application. It’s free, even after the demo period. It’s just a keyboard macro engine to process/automate keystrokes and displays some popup windows.

Home your machine first.
Easel is all set and ready to click the Carve button.

-Press your QuicKeys defined hotkey (mine is F1).
-It opens the Machine Inspector and inputs all the necessary commands one after another.
-The probe moves to each location and then moves out of the way. The operator must click an OK button to verify that the touch plate has been disconnected/removed.
-The bit then moves to the calculated XYZ zero location
-G28.1 command stores that location

Now all you do is click the green Carve button, answer the verify questions, select ‘Manual’ when asked to probe, the next screen you Confirm Home position, and Carve.

Since the XYZ zero is stored in permanent location memory. You can lose power, Estop, even shut down your entire machine and come back tomorrow. If you have a fixed zero location like I do with a square taped to your wasteboard, just put another piece of same thickness material, home your machine, then issue a G28 to go to zero and carve.

I hope this is helpful!


This is very cool and smart. Lack of three axis probing, to me, is a big drawback to Easel. Very nice workaround.

Easel doesn’t support G92. The Xcontroller itself does. I used to use G92 with my Xcontroller and UGS until I switched to G54.

Also, as a tip, you can change from using G28.1 to G54 (set via G10 commands) by using the commands:
G10 L20 P1 X
G10 L20 P1 Y
G10 L20 P1 Z

I took Charley’s macro script and replaced the G92 lines with the above lines (and removed the initial G92 X0, etc. lines). You won’t have to move to 0/0/0 before clicking carve and should just be able to click “Use last home position” when prompted.

The great thing is that G54 is persistent across power cycles as well and Easel’s Z probe uses the G10 command to store the Z offset to G54.

Just a thought.

1 Like

I corrected/edited the G92 mistake in my post. Thanks for pointing that out.

Yes, I could use the G10…commands to store the work position without having to move to workpiece zero, but I like the confirmation. :wink: I get to see that, in fact, it did work and it’s sitting at work zero.

I’m just glad I don’t have to go through UGS first any more!


Well slap me silly, someone done fingered it out!!! Congratulations @Traxxtar and thank you for sharing. Love the Touch Plate and Y Axis end plates your machine is sporttin’ there!! Perhaps some of the dedicated Easel Users who have been waiting on a automatic 3 axis solution before they pulled the trigger on getting a Triquetra Touch Plate will get on board with the over 500 users that already have one. At 30% off, its a great deal for the entire kit. I’m going to have to get busy and get this incorporated into the Triquetra Tool Box for sure!!

Charley Thomas
Triquetra CNC


Excellent Traxx!

1 Like

I made another video showing the scripting details. I’ve also added the ability to specify the bit size at the beginning since the XYZ zero point is bit-size dependent.

QuicKeys is also available for Windows and works pretty much the same way, although the interface is different because it’s an older version. Their site says it’s for Windows XP, but I installed it on Windows 7 64-bit and got it working just fine.

QuicKeys running on Mac

QuicKeys running on Windows 7


if he posted it at a TGIFridays is it ok that it is Thursday?


I was considering on doing that at one point but started using UGS and gave up.
Glad you didn’t.
Congrats on the cool trick.
This needs to be put on a the board as a sticky. That way you can see it when you visit the forums.


I’d like to see Inventables incorporate this into Easel. It could be added to the Z-probe screen. Leave the Z-probe option available, but also offer a 3-axis probe. Since the bit size is already known because it’s entered in the settings, it would work just like the single Z-axis probe. Ensure the bit is located properly, then click ‘probe’.

The 3-axis touch plate dimensions could be added as part of the machine setup just like the z-probe plate is now.

It’s not rocket science. It should be easy to add…and it would knock Easel out of the park! :wink:


Continuing my effort to make the 3-axis automation more seamless in Easel, I’d like to figure out how to ‘read’ the current “Bit Size” and eliminate the operator from having to enter it in the QuicKeys macro.

If you look at the Inlay App in Easel, it does use the Bit Size, so there must be some way of reading that value. If so, then we should be able to use it and then the 3-axis probing is just as automatic as the single z-axis probing.


I’ve been playing with a thought here. Since Easel already understands homing… how much more work is it to use those switches on a plate the easel can read as your xyz zeros. Hope that makes sense.

In other words , instead of mounted homing switches, couldn’t they be mounted a like charleys triquetra block for easel positioning.

1 Like

homing is a GRBL function. It’s a black box to Easel (send $h wait for an “ok” response). Theoretically you could use the homing function to set your work zero (it’d actually be setting the machine zero however) but that’s not the true purpose and it can cause other complications (parking when pausing with an Xcontroller) plus you’d need to alter the default settings to change the Z direction for homing.

Using switches for probing is technically possible but you’d be using the same commands and potentially adding more sources of error as you’d basically need to do a multi-tap of a switch to find the true position. But the same commands still would need a different sending mechanism than what Easel does without this workaround.

1 Like

Hey @Traxxtar this is great. It’s exactly what I’ve been looking for. Would you be able to share your script for QuicKeys? Does that program have an export/import option? Thanks.

1 Like

I believe it has an export/import. It’s on my Mac Mini at home. I’ll check tonight and let you know.

1 Like

@Traxxtar Following with interest here, albeit an older post, did you manage to export the script for quickkeys? I’d like to use Charlie’s 3 axis block with easel and utilise your script.

1 Like

This is from the Mac version.

3-axis probe.qkmx (12.8 KB)

1 Like

Thanks for that, I run PC but will see if it works!

1 Like

I created one for Windows…let me see if I can find it.

1 Like

Thanks that would be great!

1 Like

I could not locate my Windows version. That, along with some other Arduino code I must have deleted…are really not setting well with me today! Arg!!

1 Like