Skip to main content

Universal G-Code Sender (UGS)

danger

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

Connect screenshot

  1. Open UGS and connect the plotting device to the computer, most likely via USB.
  2. Click the refresh button next to Port.
  3. From the Port drop down menu select the plotting device. Once the plotting device is successfully connected, the Connect 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

danger

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)

  1. Open the jog controller.
  2. Select millimeters for units.
  3. 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)
  4. Move the plotter head to the most negative X direction (X-) and most negative Y direction (Y-).
  5. 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- or Z+ depending on the 3D printer) until the point of the plotting instrument is about 5mm separated from the plotting surface. Write this numbers down.
  6. Switch to the Toolbox and Click Reset Zero. This defines the X = 0, Y = 0, and for 3D printers only, the Z = 0 starting point for the plotting device as the plotter head's current location.
  7. 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.
  8. 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

danger

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

danger

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)

  1. Open the jog controller.

  2. Select millimeters for units.

  3. 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)

  4. Click on the arrows to move the plotter head around the plotting surface.

  5. 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

Controller screenshot

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

Jog controller screenshot

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

Toolbox screenshot

The toolbox contains several useful features listed below.

  • Reset Zero - This will set the plotter head's current position to X = 0, Y = 0, and optionally Z = 0. All future movements will be made relative to this position.
  • Return to Zero - This will return the plotter head to the position defined by Reset Zero. Do not click this before reading the reset zero section.

Macros

Macros screenshot

Macros are custom G-Code commands. Two examples here include Raise plotter head and Lower plotter head.

caution

These instructions are specific to 2D plotters. Check out the G-Code Docs for other instructions that can be made.

Create macro screenshot

Console

Consoles screenshot

The console is used for sending commands to the plotting device.