Universal GCode Sender

I’ve read some posts here about UGS and am wondering the benefits. It seems that UGS supports tool changes, which certainly sounds pretty compelling. I use Vectric Vcarve Pro so multiple tools can easily be set up. Is UGS easy to use? Does it work right out of the box (download)? Does anything need to be configured for it? I have a Shapeoko 3 XXL. I think some have added macros to do certain things - is there a Shapeoko / UGS tutorial somewhere that explains what these macros are?

Thanks for the help

1 Like

I am in the same boat you are. I just downloaded CNCjs and current reading on to learn.

If you search this forum, you will see that @neilferreri created macros for tool change for CNCjs. Maybe he will provide proper links here too.


UGS will work pretty much right out of the box. Once it has detected the USB port, it should connect and you can home the machine with the built-in buttons. I have not done tool changes in the way I think you mean, that is I just run a separate gcode file for each tool and change cutters and re-zero the Z before each one.

I’m running it on a very old laptop using 32-bit Ubuntu linux, so it does not require a powerful computer. I’ve also run it on a newer Win10 laptop.

1 Like

I know it won’t do automatic tool changes - not that I have a machine that does automatic tool changes anyway. From reading though, it sounds like it will detect a tool change in the gcode and then pause for me to change the tool (and presumably reset Z-zero) Then when it’s all set, I hit something and go on my way. Am I mistaken in that understanding?

As you described, that’s exactly what I am in the process of learning. CM does not support this function as I recently encountered. I have numerous gcodes and numbered according to the order of job tasks.

As I said above, check the forum, the search function is your friend! Here is a thread on the macros for doing just that in CNCjs. "Automatic" Tool Length Offset


That is what I thought you meant by tool changes, and I have not tried it in UGS. I just separate each tool into a separate gcode file and run each file in a predefined order. What you are describing sounds interesting though, especially if it could give you a notification of what tool to use and the speed setting. I currently save the gcode files with a descriptive name that tells me the order, the cutter and the speed to set the router. Someone else on this forum uses a similar system.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.