Universal G-Code Sender (UGS)
Do not try anything in this guide until reading it through completely. For more information, check out the FAQ question [Why is the plotting device running into the wall?](./faq#why-is-the-plotting -device-running-into-the-wall)
What is UGS?
UGS is the go to software for interacting with plotting devices. It offers a bunch of helpful tools to get started and can be used to send G-Code instructions and G-Code files to plotting devices.
Setup
Installation
Navigate to the UGS download page to get the software.
Connect the plotting device
- Open UGS and connect the plotting device to the computer, most likely via USB.
- Click the refresh button next to
Port
. - From the
Port
drop down menu select the plotting device. Once the plotting device is successfully connected, theConnect or Disconnect
button will turn orange.
Finding the plotting device
Device naming may not be intuitive. An easy way to figure out which device is the plotting device is to select a device from the drop down menu, and click the Connect or Disconnect
button. Repeat until a successful connection is made. Note that the plotting device might have a different name depending on the USB port it is connected to. For help finding the plotting device, check out the GitHub discussion.
Get the plotting devices's dimensions
Do not try anything in this guide until reading it through completely. For more information, check out the FAQ question [Why is the plotting device running into the wall?](./faq#why-is-the-plotting -device-running-into-the-wall)
- Open the jog controller.
- Select
millimeters
for units. - Set the
Step size XY
to 10,Step size Z
to 1,Feed Rate
to 1,000. (For information on setting feed rate, check the [Get the plotting devices's feed rate](#get-the-plotting -devicess-feed-rate) section) - Move the plotter head to the most negative X direction (
X-
) and most negative Y direction (Y-
). - For 3D printers only, attach the plotting instrument to the plotter head. (For help with 3D printer setup, check out Convert a 3D printer to 2D plotter guide) Move the plotter head in the Z Direction (
Z-
orZ+
depending on the 3D printer) until the point of the plotting instrument is about 5mm separated from the plotting surface. Write this numbers down. - Switch to the Toolbox and Click
Reset Zero
. This defines theX = 0
,Y = 0
, and for 3D printers only, theZ = 0
starting point for the plotting device as the plotter head's current location. - Switch back to the Jog Controller. Move the plotter head to the most positive X direction (
X+
) and most positive Y direction (Y+
) it can go. Write these numbers down. - For 3D printers only, move the plotting head so that the plotting instrument's point is comfortably touching the plotting surface. Write this number down.
Reset Zero
Do not try anything in this guide until reading it through completely. For more information, check out the FAQ question [Why is the plotting device running into the wall?](./faq#why-is-the-plotting -device-running-into-the-wall)
This step should be performed every time the plotting device is turned on. Additionally, it should be performed any time the plotter head is accidentally given coordinates that are outside of the bounds of the plotting device.
Repeat steps 1 through 6 from the [getting the plotting device's dimensions](#get-the-plotting -devicess-dimensions) section.
Get the plotting devices's feed rate
Do not try anything in this guide until reading it through completely. For more information, check out the FAQ question [Why is the plotting device running into the wall?](./faq#why-is-the-plotting -device-running-into-the-wall)
Open the jog controller.
Select
millimeters
for units.Set the
Step size XY
to 10,Step size Z
to 1,Feed Rate
to 1,000. (For information on setting feed rate, check the [Get the plotting devices's feed rate](#get-the-plotting -devicess-feed-rate) section)Click on the arrows to move the plotter head around the plotting surface.
Raise and lower the
Feed Rate
until it moves at a speed that results in clean and fast plotting . This may take some experimentation to pick a good number. Write this number down.
Creating Macros
Macros are a way to turn repeated interactions in UGS into clickable buttons. To create a macro, in UGS, click on the Machine
menu item and then click Edit macros...
.
Below are some commonly used macros. Check out the G-Code Overview for more inspiration. To test that macros work, isntructions can be sent by typing them into the console.
2D Plotter Macros
The plotter head can be raised by sending the G-Code command M3 S0
and lowered by sending the code M3 1000
.
3D Printer Macros
Follow the Get the plotting devices's dimensions section to get the Z heights for the 3d printer. The instruction for moving the Z Axis looks like G1 Z123
. Replace 123
with the recorded values to make macros for raising and lowering the plotting head.
UGS Features
Below are a collection of features referenced in other parts of the documentation including the setup in the next section.
Controller State
The controller state contains various details about the plotting device. Of interest are the X position (0.000
) and the Y position (10.000
). These coordinates will be used with the jog controller to determine the plotting device's coordinates. For 3D printers, the Z position will define the plotter head's lowered and raised positions.
Jog Controller
The jog controller controls the plotting device in real time. Instructions can be sent to move the plotter head in the X and Y directions. For 3D printers it'll also control the Z direction.
Toolbox
The toolbox contains several useful features listed below.
Reset Zero
- This will set the plotter head's current position toX = 0
,Y = 0
, and optionallyZ = 0
. All future movements will be made relative to this position.Return to Zero
- This will return the plotter head to the position defined byReset Zero
. Do not click this before reading the reset zero section.
Macros
Macros are custom G-Code commands. Two examples here include Raise plotter head
and Lower plotter head
.
These instructions are specific to 2D plotters. Check out the G-Code Docs for other instructions that can be made.
Console
The console is used for sending commands to the plotting device.