Using gSender


Here’s a great video that goes over much of how a g-code sender works in the context of gSender. See Kelly explain many of its uses and features:


Connect to your CNC machine by hovering over ‘Connect to Machine’ at the top left corner, and pressing the COM port you wish to connect to. Sometimes there’s more than one COM port available, so you may need to try both to see which one your machine is connected to.

Once you have selected the COM port, your machine should be connected. This is confirmed when you see the plug icon turn green with a check mark. You should also see the status on the top right corner of the visualizer change to ‘Idle’, and the controls activate, allowing you to press them.

If you are not seeing those changes when you connect, please check the following:

  1. Arduino is securely attached to the LongBoard.
  2. Any other programs that can talk to the Arduino are closed (ex. Arduino IDE, Easel, UGS).
  3. See if you have other COM ports available, and try to connect to them.

Jogging and Presets

You can move the machine by using the Jog Control, through the arrow buttons. Change the ‘XY move’ and ‘Z move’ to adjust the distance you travel per click. You can also change ‘Speed’, which determines how fast the machine will move when jogging.

The ‘Rapid’, ‘Normal’, and ‘Precise’ buttons will allow you to toggle to different distance and speed values quickly. You can change these values by going to the settings and editing the ‘Jogging Presets’ in the ‘General’ section.

Set Zero and Gotos

Each g-code file or project will have a starting position that all other movements are referenced off of. This is the zero or origin. There are two ways to manually set your zero on gSender.

  1. Set the zero for each axis one at a time using ‘Zero X’, ‘Zero Y’, and ‘Zero Z’
  2. Set the zeros all at once using ‘Zero All’

The large blue numbers tell you the current position of your machine. If you want to return to your zero position, you can press the ‘Go to’ for each individual axis or ‘Go to XY0’ to return to the starting position in X and Y in one movement. You should see all three large blue numbers read “0.00” once you have returned to your zero for all axes. Note that ‘Go XY0’ will not move the z-axis to its zero.

You can reset your zeros anytime when the machine is not actively running a job. The machine will remember your zero in most cases. If you turn the lead screw with your fingers or push the gantry, the machine does not know you moved it, therefore it will lose the zero position. You can jog on the Jog Control without losing your zero position because gSender knows you are moving the machine.

Endstop buttons

If you have endstops on your machine, whether limit switches or homing switches, gSender provides added features. As long as homing cycle ($22) is enabled on your machine you’ll notice additional buttons appear in the ‘Location’ area of gSender.

This ‘Home’ button and the 4 corner buttons are there to initiate a homing cycle to find machine limits and to quick-travel to them after homing is complete.

If you’d like more information on how to set up and use limit switches, read here:


The probe allows us to automatically set a zero position, usually at the bottom left corner of the stock material, using a touch plate. Usually you’d have to enter a tool diameter each time you probe, but gSender also gives the option to save tool sizes for re-use. You can see this in the ‘Tools’ section of the probe settings. Add different end mills by entering the diameter in millimetres or inches, and then pressing ‘Add Tool’.

Once you have set up the touch plate, banana plug and magnet on the machine, you can choose which axis to probe for, and the diameter of the bit you are using if applicable. The bit size can be selected from the drop-down of saved bits, or can be typed in manually. Jog the machine so that the bit is hovering over the Sienci Labs logo on the touch plate. Then press ‘Probe’.

Before the process begins, there is a conductivity test to ensure that the touch plate components can conduct electricity, which allows a signal to be sent to the LongBoard when there is contact. You can either bring the touch plate to the end mill or touch the banana plug and magnet together. Make contact a few times just to confirm there is conductivity, as the red circle should flicker to green.

A blue button called ‘Start Probe’ will appear if you have successfully confirmed conductivity. Ensure that the touch plate components are set up for probing, then press ‘Start Probe’. The machine will move to probe three sides of the touch plate, twice on each side. There should not be any crashing or abrupt movement. Once the process is over, remove the touch plate components from the machine and then press ‘Go to XY0’. The bit should be overtop the bottom left corner of the stock material, and pressing ‘Go to’ next to the ‘Zero Z’ should bring it to touch the surface. More information can be found on our touch-plate resource page.

Loading Job Files

If you have already prepared a project file, ensure the following:

  1. The file is an *.nc, *.gcode, *.tap, *.gc, or *.cnc file.
  2. The file is exported to the correct post processor for the LongMill. Please see this page for the correct post processor for your CAM software:

To run your project on gSender, press the ‘Load File’ button. A dialog box should pop up, where you can navigate to where your file is. If you want to reload a previous file you can also click the ‘>’ button which will allow you to select from recently opened files.

Double click on the file, and the project should load in and be shown on the Visualizer. Once loaded, you’ll be able to see information about your project such as: its estimated cut time and cutting dimensions, and if the file is too big and slowing down your computer you can always click the ‘X’ on the ‘Load File’ button to unload it.

Before running your job there are a few other handy features you can check. The ‘Outline’ button will physically move your machine around the rough perimeter of your cutting job so you can get an idea of the cutting dimensions and if you’ve positioned the job correctly. As well, the ‘Test Job‘ button enables gSender to go through your g-code to look for potential errors or unknown commands, without running it on the machine yet. This will give you an idea of what running your job will look like before running it for real.

Running Jobs

Once your machine is ready with your router and vacuum on, press ‘Start Job’ to begin your cut. You can pause and stop your job at any time with the respective buttons. If you press ‘Pause Job’, you can resume the job from where you left off. Otherwise, ‘Stop Job’ will cancel your job completely.

At the bottom of the screen, a progress bar shows how many lines of g-code have been processed and how many are left. Additionally, you can override the feed rate and spindle speed of the program while the job is running by pressing the ‘+’ and ‘-’ buttons or the rotated arrow to reset back to the default value. This is handy for fine-tuning the program cutting speed in order to tune in your material removal rate and ensure you don’t burn or melt material.

Now you’re off and cutting, what a thrill! While your job is running keep an eye and ear out for anything you don’t expect. You can always use the job control buttons during operation to change speeds, pause, resume, or stop cutting altogether.

Job Loss Recovery

Also referred to as “Start from Line” this feature is built right into gSender for the purpose of recovering a carve you were working on that was disrupted by a power loss, USB disconnect, mechanical malfunction, or other failures.

When a job is lost from a disconnect, clicking ‘Stop Job’, or anything similar, your first step should be to ensure that the job you were running is currently loaded, otherwise you need to load it back onto gSender. This is an alternate way of starting / resuming a job so you’ll find this feature as a part of the ‘Start Job’ button on the main visualizer shown as three lines.

In this popup, you’ll get some important information. Remember that every job you run on your CNC is a series of line-by-line instructions as a ‘g-code’ file:

  • Line last recorded: shows where gSender remembers the file failed
  • Maximum line number: shows the total instruction lines in your file
  • Start at line: for you to enter manually where you want to resume cutting from. If your machine was running for a long while after the failure then you’ll want to subtract more from the last line recorded, or if the failure was quick you might only need to subtract 10 or 20 lines. For example: if the last recorded line was 1040 but I hadn’t been paying attention for several minutes and the job had already been running for an hour, then I could assume that maybe 100 lines had passed since the failure so I could restart on line 940.

Now you should be ready to get back into cutting by clicking ‘Start from Line’. This feature took us a long time to create since it:

  • Runs the Start/Stop g-code as you’d expect
  • Accounts for all the typical ‘setup’ g-code that is at the start of the file like units, zeros, spindle speed or laser power
  • Looks at every past machine movement to locate exactly where it needs to resume from

This way you can be confident in returning to your projects even when something goes awry.