Additional Features

This page covers all the advanced features of gSender such as shortcuts, macros, workspaces, calibration tools, controlling spindles, lasers, coolant, and more. Remember, you can always quickly navigate the page by clicking the headings in the ‘Page Contents’.


Starting off as a more advanced gSender user, the first feature you’ll want to leverage is shortcuts. These can allow you to assign gSender or CNC actions to keys and key combinations or even to gamepads and joystick movements. There are 3rd party apps like JoyToKey, Xpadder, Comfort Keys Pro and reWASD that allow you to do this, but to eliminate needing to download and configure other programs we’ve rolled all the functionality into gSender itself.

Going to the settings gear, then the ‘Shortcuts’ section, you’ll see that shortcuts can come in the form of ‘Keyboard Shortcuts’ or ‘Joystick Shortcuts’, all searchable by category. Both options enable you to set up, modify, and enable or disable shortcuts. These will be automatically saved when you close the dialog box and will remain on gSender as long as the program is installed on your computer.

Keyboard Shortcuts

Either for use on a keyboard, macro pad, or mini Bluetooth keyboard, these are split up into categories so they’re easy to locate and modify. There are shortcuts for carving, overrides, jogging, zero setting, probing, macros, visualization, window navigation, and more!

Common Shortcuts

A great place to start is the Jogging category. In the picture below, see that right now we can jog the X axis by hitting the shift + right or shift + left keys. The Y axis responds to shift + up and shift + down keys and the Z axis uses the shift + pageup and shift + pagedown keys. Being able to look at your CNC, while your hand is on your keyboard is a great way to ensure you are moving in the right direction, without having to look back at your screen to click the mouse on the right button.

You can use the preset shortcuts and/or add your own. Click the ‘+’ or the ‘edit’ to the right of each shortcut to bring up a popup window that allows you to add or edit your own key combination (shown in the example below). You can see it’s as easy as pressing the key or key combination once the popup is open. In addition, you’ll be informed if the combination you’ve entered is already used elsewhere and be given the option to overwrite the existing one if you want.

You can turn on or off individual shortcuts in the Active column or enable/disable all shortcuts at the bottom of the window. Some people find this useful since it can turn off the shortcut temporarily without losing the key combination.

Gamepad Shortcuts

Many users really love this feature since using a controller is convenient (especially for when you’re closer to your machine), inexpensive, and makes certain repetitive actions much easier. Common options are Xbox, PlayStation, and other third-party controllers available online.

To start, connect your joystick to your computer and create a new profile using the ‘Add New Joystick Profile’ button. You will be prompted with further instructions on gSender on how to set it up. This profile will allow for shortcut assignment in a very similar manner as keyboard shortcuts, while also remembering your particular joystick. This will enable you to set up multiple profiles if desired.

If you run into difficulty with getting a particular joystick set up in gSender, consider searching for documentation provided by the manufacturer (for example, Xbox or PlayStation). Some joysticks may also require drivers to be downloaded so your computer can read the signals that the joystick sends out.

Tested Gamepads

To better guarantee your experience using a gamepad in gSender, we’ve taken the time to test a shortlist of some common and affordable options that are easy to source. With community help, we hope to continue growing this list of officially tested gamepads which currently includes:

YCCTeam Xbox Controller

  • Wireless
  • Tested on Windows and macOS
Logitech F710

  • Wireless
  • Tested on Windows and macOS

Having a listed gamepad means you can both be more confident that your hardware will be compatible with gSender, as well as many of the ‘tested gamepads’ will have pre-made shortcut profiles built right in to save you time setting up your own. Find these pre-made ‘profiles’ alongside all the other gamepad settings in the Shortcuts -> Gamepad tab.

Shortcut Printing

Find yourself forgetting how you’ve configured your keyboard or gamepad profile shortcuts? Hit the ‘Print’ button to generate a simple PDF that you can store on a tablet or print on some paper to keep next to your CNC. This PDF will contain all the shortcuts you’ve created and what actions they’re assigned to.

Lightweight Mode

This mode enables gSender to run faster on computers that are less powerful and prone to lagging. ‘Lightweight Mode’ reduces the memory gSender uses by turning off processor-heavy aspects of the visualizer, from reducing detail to disabling it altogether. You can toggle it on or off using the slider positioned at the top right of the visualizer.

If you go to the visualizer settings, you can also customize what features are active in both ‘Regular’ and ‘Lightweight’ modes.

If gSender’s visualizer is impacting the performance of your machine but Lightweight mode only helps once the whole visualizer is turned off, this hybrid option could help. Found in the Visualizer settings, the ‘SVG Visualizer’ substitutes the default 3D viewer with a pre-rendered, top-down image of your project, drastically reducing computer strain but still allowing the project to be displayed.

Once you toggle on ‘Enable SVG Visualizer’, whenever you turn on Lightweight Mode in the top right of the visualizer, you’ll see the alternate view with all animations turned off.

Coolant Control / IOT Relay

If you have a coolant control pin on your CNC machine, gSender has a tab for manually controlling it. Under the ‘Coolant’ tab on the main screen, you can find the ‘Mist’ and ‘Flood’ buttons to activate the different modes of coolant use, as well as an indicator for whether the coolant function is active or inactive. This indicator also functions during job sending. You can turn off both coolant pins by pressing the ‘Off’ button.

Many hobby CNCers don’t have a need for coolant and so prefer to use these outputs for controlling other periphery. The most common is an IOT relay that can be used to automatically control a vacuum for dust collection, the CNC’s router, LED lighting, and more. See an example of how to set that up here: https://resources.sienci.com/view/lm-iot-relay/

Spindle & Laser Support

Similar to the manual coolant control, this area is for manual control of a spindle or laser outside of g-code sending. If you have a spindle or laser, you can activate these controls by going to the settings gear at the far right. In the ‘Spindle/Laser’ section in the left toolbar, press the toggle for ‘Spindle/Laser’.

Back at the main screen, you’ll see the ‘Spindle/Laser’ tab at the bottom right. Here you can click to toggle between ‘Spindle Mode’ and ‘Laser Mode’, changing your GRBL settings for you and displaying buttons specific to each device. For each mode there is also a red caution circle that indicates whether the spindle or laser is active. This works during manual control but also during job sending.

In spindle mode you can set the spindle speed with a slider, spin it up in either direction, and stop it again with the ‘Stop’ button. These are all based on g-code commands that can also be entered into the console manually if desired. The speed slider is set from your GRBL firmware settings, so max and min speed can be altered in the Firmware Tool.

‘Laser Mode’ is very similar, allowing for On/Off control, a slider for setting the laser power during manual control, and a ‘Laser Test’ button. The laser testing function is handy when troubleshooting your laser setup or for other sorts of locating and alignment because it only enables the laser for a short time before turning it back off again. Though this is much safer than regular on/off control, we still highly advise that you have you have a hand on a kill switch or e-stop during testing or control of either Laser or Spindle modes so that in case something goes wrong with your computer or the program they can still be safely deactivated.

Laser Diode Support

Some accessories can be really handy to add to a CNC router like a laser diode, drag knife, or pen plotter. These would all perform better on a faster, dedicated machine, but for occasional use why not use the existing motion system of the router to do other things for you? A laser diode in particular can be great because you can clamp the material to carve and then laser engrave afterwards and know that everything is still aligned.

Since many CNCs are coming with diode accessories, gSender has some unique features to also support lasers. Once ‘Laser Mode’ is turned on, gSender will:

  • Turn on the laser at low power when running a job outline (enabled in the Spindle/Laser settings). This will help you to better see where your project is going to be located on the material
  • Automatically apply an offset from the router/spindle to the laser so all your g-code files stay aligned (configured in the Spindle/Laser settings)
  • Switch to a specialized visualization designed to show raster engraving images better than typical g-code visualizers. Seeing the laser intensity in the movements is very useful to get a better idea of what your projects are going to look like when they’re run. This applies to files only once ‘Laser mode’ is enabled and the colour can be customized in the settings


Macros are standalone buttons within the gSender interface that allow you to execute a series of g-code commands when they’re run. Macros can come in handy for a variety of uses:

  • Button to run a v-carve or laser engraving of a common insignia into the back of your wood pieces
  • Perform a specialized probing function for a particular jig you’ve set up
  • Apply a predetermined offset that allows you to easily array your cutting jobs

You can create macros using the ‘+’ button under the ‘Macros’ tab. Here you’ll see a space for inputting your custom g-code and adding a name and description for the macro. Advanced users may also want to leverage ‘Macro Variables’ which allow for greater g-code manipulation and pseudo-programming. Press ‘Add New Macro’ when completed.

New macros will appear as buttons in the ‘Macro’ tab that can be rearranged by dragging them around. These buttons will display the macro name, show the description if you hover your mouse over them, and can always be later altered or deleted by clicking on their ‘…’ button.

Any macro can be executed by pressing it. Before pressing it, a play icon will appear to show that you can select it. Once running, you should see the macro start to pulse green while a toast notification on the bottom left hand side of gSender also notifies you that it’s running.

Macros can also be executed using shortcuts. Every time you create a new macro it’ll become available at the bottom of the shortcuts list for you to assign a key or joystick button to. Add your keybindings and enable them by pressing the slider beside the label.

You can share macros with other users or transfer them between computers by using the import and export features. To import one or multiple macros, just press the button with the downward arrow and a browsing window will appear so that you can select the macros you wish to import. Similarly, to export all your current macros, press the button with the upward arrow and it’ll generate a save file for you.

Advanced Macros

gSenders Macro architecture uses the Esprima (https://esprima.org/) library and so will theoretically support any code that it does: https://docs.esprima.org/en/latest/syntactic-analysis.html. This is exciting because Macros can move far past basic variables if you’d like to perform advanced functions on your CNC.

  • An example of more advanced variable usage could be using JS Math functions to perform trigonometry on-the-fly in an intricate probing cycle, see: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math.
  • Another example is using ternary expressions to choose between two outcomes (e.g. %value=(30 > 20) ? 10 : 20 and then printing or using that value later on using ([value]) or G0 X[value]).
  • Our main developer also made another example macro that can be used with the new SLB to cycle between its 3 status light states (read more about these here: https://resources.sienci.com/view/slb-manual/#status-lights). The macro has 3 lines where it either retrieves the current lightState or sets it to 0 if it’s undefined, sets the light to the current state modulus 3 (so the value will never go above 2) and then stores the next state sequence. A note is that any variables stored in global can only persist until gSender is closed.
    • %nextLight = global.lightState || 0
    • M356 P0 Q[nextLight % 3]
    • %global.lightState = Number(nextLight) + 1


The console is a tab that you can access at the bottom right hand side of the gSender window. The text here shows a truer representation of the communication that happens between your computer and your CNC. As you start to understand more about your machine, this is a great tab to reference so you can see if commands are being properly sent, received, and executed. It’s also great for troubleshooting since you can:

  • Manually send g-code commands to your CNC
  • Check for errors or alarms and the g-code that caused them (normally the line that comes before)
  • Copy text straight from the console to send in an email for help by clicking the icon beside the “Run” button

When you first start up gSender, the console will display EEPROM settings that are sent from the Arduino in the control box. These EEPROM settings control parameters for your CNC such as:

  • Maximum speed and acceleration in each axis
  • Boundaries of the work area
  • Direction of each axis movement
  • Limit switch settings

To access EEPROM settings again, enter in “$$” into the console and hit the ‘Enter’ key or click the ‘Run’ button. These settings can be changed via the console as well as the Firmware Tool which we’ve designed as a much more visual way to alter machine settings.

Calibrate Tool

The ‘Calibration Tool’ on gSender enables you to make finer adjustments to your machine for improved performance. There are three processes available on gSender:

  • Diagnostics
  • XY Squaring
  • Movement Tuning
  • Surfacing Wasteboard


If you’d like to see general information about your CNC or are experiencing issues that you’d like to troubleshoot, gSender has a Diagnostics tool for that. Access it by clicking the ‘Calibrate’ tool on the top-right and opening the ‘Diagnostics’ tab.

Here you’ll see machine information, notable firmware settings, and at-a-glance status on whether your limit switches, touch probe, or other pins are activated. This can be handy if you’re encountering odd behaviour with certain machine accessories or to double-check your wiring.

Another valuable feature is the ability to download a Diagnostic PDF file of your CNC machine when you click ‘Download Now!’. This PDF file is meant to include information on your computer, your CNC, recent alarms / errors, any currently loaded g-code file, and more. It’s basically a treasure trove of information that you can share on community forums, Facebook groups, or with your CNC customer support. This can go a long way towards getting help from others on diagnosing any problems your CNC might be experiencing.

To download the PDF, click the “Download Now!” button. This will open a save dialog box. Save the file to a location that you can easily access to send along to others in an email, support ticket or post online.

XY Squaring

When mounting your LongMill on the table, there is a basic squaring process illustrated in our instructions (https://resources.sienci.com/view/lm-table-mounting/). If you do find that the machine is not perfectly square, you can follow the steps in this process to fine tune the position of your rails.

When you access the ‘Calibration Tool’ window, the ‘XY Squaring’ procedure is shown on the first tab. All instructions are illustrated in the window, however a brief overview will be provided.

You will need the following:

  • Ruler or measuring tape
  • Tapered bit or V-bit
  • Tape
  1. Jog the machine to the front left corner, with the bit raised slightly over the surface of your wasteboard
  2. Mark the points with tape and move the machine as directed
  3. Measure the distance between the marked points and record the values
  4. Adjust your rail positions with the values determined by the XY Squaring procedure

The great advantage to this tool is it saves you having to do the trigonometry yourself and will also let you know if your machine is aligned closely enough that it’s not worth worrying about.

Movement Tuning

You are able to change how much your motors turn to improve the accuracy of your machine movement. This is done through modifying the EEPROM settings that are stored on your LongMill, which this process will guide you through. You can tune the X, Y and Z axes individually. All instructions are illustrated in the ‘Calibration Tool’, however a brief overview will be provided.

You will need:

  • Marker or tape
  • Measuring tape
  1. Jog your machine to the middle of whichever axes you choose to tune, so that there is enough room to complete this procedure. For example, on the X-axis you would jog halfway on the X-axis rail
  2. Select what axis to tune on the drop down menu
  3. Mark down the location of your reference on the machine. For example the X-axis tuning references the edge of the XZ gantry on the X rail
  4. Move the axis a chosen distance
  5. Measure the travel distance between the marked location and the reference edge
  6. Change the EEPROM setting as recommended by the procedure by pressing ‘Set EEPROM setting’
  7. Repeat the procedure for each axis you wish to tune


Surfacing the wasteboard of your machine can easily be done through gSender. You can find the ‘Surfacing’ procedure on the main screen or in the ‘Calibration Tool’ window. All instructions are illustrated in the window, however a brief overview will be provided.

  1. Zero your machine on the back left corner of your machine
  2. Open the ‘Surfacing’ window
  3. Input the dimensions and settings for your setup. Make sure you have the right bit for this operation, as we recommend using a surfacing bit or a large flat end mill
  4. Press ‘Generate G-code’ and check your surfacing toolpath using the ‘Visualizer Preview’ and ‘G-code Viewer’
    gsender surfacing tool dialogue box
  5. Press ‘Run on Main Visualizer’ to bring the g-code into gSender’s main screen, and start the job when ready

Stats Page

Curious to know how many jobs you’ve completed or how many hours you’ve put on your machine? Find this information in the “Stats” section of the settings. For now it provides a simplified breakdown of total hours run, longest and average runtime, total jobs run, and compares completed vs cancelled jobs. It’s a useful tool for tracking maintenance schedules and will continue to be expanded into the future.

Firmware Tool

Firmware is pre-installed into each Arduino on the LongBoard, along with the custom EEPROM settings, so typically users do not need to access the ‘Firmware’ tool at the top of the screen. However, if necessary, the ‘Firmware’ tool can be utilized to restore everything to factory settings or make other machine alterations. Once you press ‘Firmware’ a dialog box will open, showing the EEPROM settings that are on the Arduino.

  1. To choose your machine Profile, select your machine name from the drop down menu.
  2. Flash GRBL‘ will reset your firmware back to its default configuration.
  3. To import new EEPROM settings from a file, press ‘Import Settings‘.
  4. To export the current EEPROM settings, press ‘Export Settings‘.
  5. Restore Defaults‘ will bring back your machine defaults in case they’ve somehow been altered or wiped.

Machine Profiles

Currently, all LongMills ship with LongMill MK2 30×30 firmware pre-installed. If you have a 12×30 or 48×30 MK2, a LongMill MK1, or a machine from a different vendor, you need to change your machine profile. Open the firmware tool at the top right of the main screen and beside the word “Profile’, select your machine from the dropdown menu. Please Note: If your Z-axis is working in the opposite direction than expected, confirm you have the correct profile. MK2 users must choose either LongMill MK2 12×30, LongMill MK2 30×30, or LongMill MK2 48×30. You can find instructions on how to flash firmware here: https://resources.sienci.com/view/lmk2-grbl-firmware/

Start/Stop G-code

These sections can be used to automatically apply g-code to the beginning and end of your cutting job. For example, if you wanted an IOT relay to turn on your router and vacuum any job you run and turn them off at the end, then you’d simply use the M8 and M9 commands pictured.

On gSender you can find ‘Start/Stop G-code’ in the settings. Type in the g-code commands you wish to run at the start and end of each job or use the optional variable for more advanced control. Press ‘Update Start Event’ and ‘Update Stop Event’ for these commands to be applied.

You can also toggle these on and off if you don’t want them run for specific jobs. The ‘Stop’ event will also run if you stop a job prematurely, ensuring that any closing g-code is still executed.

Tool Changing

For CNC machines, tool changes are pauses that are programmed in the g-code for a user to switch out the cutting tool for a different one, thus allowing for multiple toolpaths (cutting operations) within one g-code file. The g-code for tool changing is an M6 command, in which the program will pause until the user tells it to continue, usually through a ‘Resume’ and/or ‘Confirm Tool Change’ button on the machine interface program. On gSender, you can program what happens when there is M6 in your g-code.

The tool change options are in the Settings -> Tool Change menu. You can select from one of 5 different options.

You can Ignore any M6 tool change commands, Pause the job when a tool change is recognized, or select one of the last three Wizards that will guide you through pre-set tool changing methods. In the split image below, you can see an example of the job Pause on the left side and the Wizard on the right.

If you are using one of the wizard options, know that you can access all other gSender controls while the wizard is open like jogging and zeroing. It also has flexibility to go back a step if you missed something or had a mistake, or to be minimized temporarily if you want to check the visualizer.

  1. Ignore
    This simply ignores any M6 commands in the g-code file. This is the default option since it’s perfect for beginners that only make projects with one tool or those that create separate files for each tool and prefer to manually perform tool changes between files.
  2. Pause
    Pauses gSender at the tool change point, as if you had hit the pause button manually. This gives you freedom to jog, zero, or anything else you’d like, and is great for those that are running multi-tool files but want to use a different process than the Wizards provide. This could be a manual probing process, a different tool changing approach, or running custom macros to support your machines specific hardware. gSender is compatible with tool length sensors like the Carbide 3D bitsetter, and our community has compiled a list of macros for tool changing that you can use when you are paused. Just note that pausing can’t always guarantee keeping track of your movements and actions when it comes time to resume the job so try to ensure you get back to the starting point and set zeros correctly.
  3. Standard Re-zero (Wizard)
    Titled ‘standard’ because it’s exactly the same as the standard process you might normally follow for running a file, changing the tool, re-zeroing Z, then running the next file except it’s applied to a single file with multiple toolpaths. Since the process is so familiar, this is a great way to dip your toes into tool changing within one file. Compatible with using a touch plate or the paper method, zero out at a predetermined spot (usually at the front left corner), and use jogging to move around. The advantage of introducing this extra automation and guidance during tool changes is that you don’t have to worry about custom macros and it reminds you of simple steps like turning the router back on or zeroing Z.
  4. Flexible Re-zero (Wizard)
    Similar to the ‘standard’ wizard with similar steps and manual movements but provides the ability to zero Z off a point that wasn’t your starting Z when it comes time to change the tool. This is useful if you tend to carve away your material and lose the starting Z or you don’t have limit switches but would like a process similar to a tool length sensor.
  5. Fixed Tool Sensor (Wizard)
    This is the most automated setting where all probes and movements are done for you, you only need to intervene by changing the tools. Set up the job and zero normally then expect the machine to move to the sensor location when it reaches a tool change, verify tool length, prompt for a change, probe new tool, then resume cutting. Your machine will need to be homed, have limit switches, and have a tool length sensor in order for this option to work. To set up the sensor mount the router/spindle as far down as you might typically put it, with the longest bit mounted in it, then jog it to hover over the tool length sensor with some room to spare and open the settings menu to save that location. This will be the spot your machine moves to every tool change so if it’s too low or your sensor doesn’t work it’ll run into the sensor.


Usually you would only have one origin or zero position for your project, therefore gSender will only save one zero. However, if you plan to do a series of projects that require different zero positions, or are lining up to do some more complex jigging or part batches, you may want to set up multiple workspaces all at once. This can save you time by not having to set a zero position for repetitive tasks or specific jig setups. You can do this by creating up to six different zero positions with the six workspaces in gSender. Access each ‘Workspace’ at the top right of the program by pressing the drop down to select which workspace to use. gSender will act completely in-line with whatever workspace you’ve selected, whether you want to set zero, probe, surface, or anything else.

The video below explains the process in greater detail.


Transferring Settings

gSender’s settings are stored on a file on whatever computer is used to run it. This mostly includes everything that you’ll find in the settings menu such as units, machine preset, probe, tools, jogging presets, keymapping, tool change g-code, start/stop g-code, and more. If you plan on using a different computer to run your CNC using gSender or want to run gSender remotely, some of these settings might be very important to carry over to the alternate computer to make sure things keep running as expected.

To transfer your settings over:

    1. Begin by opening gSender, going to the settings gear in the top-right corner, and clicking the ‘Export Settings’ button in the ‘General’ tab
  1.  Save the file somewhere onto your computer that you can find afterwards
  2. Outside of gSender, find the file and transfer it using a memory stick or sending it over the internet by emailing to yourself or using Google Drive or OneDrive.
  3. Once you’ve got the file onto the other computer it’s now easy enough to open gSender on that computer, or in the web browser if you’re doing remote control, and go to the settings and click the ‘Import Settings’ button in the ‘General’ tab.
  4. Locate the file and click ‘Open’
  5. You’ll get a warning. Click ‘Import Settings’ if you want to continue. Once you do, gSender will disconnect and you’ll need to reconnect the machine to resume operation but the settings should now be brought over.

Remote Mode

If you’ve ever wanted to run your CNC without being stuck right next to it, this is the feature you’re looking for. The remote mode is exactly how it sounds, it gives the ability for a remote computer to connect over a shared internet network to a permanently installed, normally lower-end computer, that runs the CNC. This ‘remote computer’ can be any device that can connect to the internet and run a web browser, meanwhile the ‘inline computer’ plugs into your CNC with a USB cable and will receive commands over the internet from the remote computer.

This feature is handy if you’d like to:

  • Load in a file from your design computer outside your shop then run it on your computer inside the shop
  • Use a tablet as the primary means of controlling your CNC rather than a mouse and keyboard
  • Use a phone for occasional use when jogging or running functions
  • Leverage a mini PC or Raspberry Pi as the inline (tethered) computer for cheap, fanless, and reliable operation without taxing them with a display, keyboard, and mouse

Before diving into the setup, here are some quirks and warnings that are important to keep in mind:

  • Both systems need to be on the same internet network to work, where the device used to run remote operations needs to be able to run a web browser
  • You may need to be an Administrator of the inline computer to make the changes needed so ensure you have that power
  • This feature will always be inherently less reliable than a hard-wired connection because of its reliance on your shop’s internet connection for communication. Keep this in mind if you intend on using remote control for more important projects or with expensive tools or materials
  • Remote control is still in development so expect to experience some bugs if you’d like to set this up for yourself. The setup process is a little bit more involved on your computer so we don’t advise using this feature if you’re not confident with troubleshooting your own setup
  • This feature is NOT intended to enable use of your CNC while AWAY FROM YOUR WORKSHOP. A CNC should always be run while you or another knowledgeable operator is in the vicinity to ensure safe machine operation and be able to react if intervention is required. CNCs can cause fires from electronics, material friction, and can have other safety hazards if not properly monitored
  • In other contexts this feature could be thought of as running ‘headless’ but it doesn’t fully meet the requirements of that term. Though remote controlling the CNC from another computer should reduce the requirements of the inline computer, at minimum it still needs to boot the idle version of gSender with a window manager. This is in contrast to a fully ‘headless’ setup where a skinned-down program exists only to pass along information from other devices with no UI to send along information itself

Enabling Remote Mode

All setup steps need to happen on the inline computer (the computer you’ll have connected via USB to your CNC) and have been simplified to mostly happen within gSender.

  1. To begin, click the satellite antenna icon on the top right of the screen. If the icon isn’t there, you’ll need to make sure you have a newer version of gSender that supports this feature.
  2. This is where remote mode is set up. First you’ll want to click the ‘Enable Remote Mode’ toggle. Second, click the box next to ‘IP’ and select one of the options that gSender tries to recommend for your particular computer network. For an average setup the ‘Port’ value can also be left alone. The third step is to click on OK once you have completed the configuration.
    If you’re an advanced user or have tried the default values without success, you can type in any other IP address or Port that you’d like since the defaults aren’t guaranteed to work. Common port values are 3000, 8000, and 8080 and generally don’t go below 1024 since those are considered privileged. Changing IP addresses can also help if you’re running a VPN or need a different internal IP to external IP mapping.
  3. gSender needs to restart in order for the remaining changes to take place. You can choose to restart immediately or wait until later.
  4. If there was a problem using the specified IP address or Port, you’ll get an error window to let you know. In this case you should be able to reopen gSender, go back to the Remote Mode settings, and try another IP or Port until the setup is successful.
  5. You’ll know the setup was successful if gSender restarts, the antenna icon is green, and numbers show next to it. As a quick test, click on the numbers to copy them then open a web browser like Chrome or Edge and paste them into the address bar and press enter (you can also type the number manually). After the page loads, you should see a copy of gSender running in the web browser! If something’s not working, check you followed the setup steps correctly or reference the firewall or troubleshooting sections below.

Firewall Setup

During initial setup, you might see a Security Alert window pop up or run into an issue where the browser address isn’t working. The most likely issue here is that your inline computer firewall isn’t allowing gSender to communicate to other devices on your network.

For Windows: You should simply see a popup from Windows Firewall or your antivirus software asking for approval to allow gSender to communicate on your home network. Please check the box beside “Private networks” and “Public networks”. This should be all that’s needed.

For Mac / Linux / Pi: If you find that you can’t connect with outside devices or just want some extra safety you might want to try opening the Universal FireWall (UFW) on a given port to allow external access. This can be started with sudo ufw enable (if UFW is not found then install it using sudo apt-get install ufw and your root password) then opening the desired port, for example sudo ufw allow 8080 opens port 8080 for external access. If you want to see what ports are already open, you can use ufw status verbose.

Using gSender Remotely

With setup complete, regular use is pretty straightforward:

  1. Connect the inline computer to your CNC as you would normally using the USB cable. Turn on power to your CNC and connect to it in gSender as usual.
  2. Look for the numbers next to the antenna and write them down including all the symbols and punctuation; these will be used to connect to your CNC on the remote computer / device.
  3. On any remote device that can run a web browser like Chrome or Edge (computer, phone, tablet) open the browser and type those same numbers you wrote down into the top address bar. In this example the numbers are but yours may be different. Press enter, and hopefully the familiar gSender interface will appear in your browser window. If not, ensure that your remote device is on the same network as your inline computer.
  4. Once connected, you should now be able to control your CNC remotely with most of the same features and functions you’d normally expect:
    • You’ll be able to use both the remote and inline devices simultaneously to control your CNC like jogging, opening and closing files, probing, macros, and more
    • You’ll also see that both their screens look exactly the same so you can watch the visualizer move around or check on the machine state
    • On phones the screen will look different since we’ve optimized it for jogging, setting zeros, and probing
    • When you click to ‘load a file’ you’ll see that you’ll only be able to load files from the device you’re currently on, don’t expect to gain access to the files stored on the opposite device. However once the file is loaded into gSender, you’ll be able to run it from any device
    • There can be multiple remote devices all connected to the same inline computer at the same time to control your CNC from multiple devices. There can also be multiple inline computers controlled from the same remote computer, giving you multi-CNC control from the same device
    • gSender settings like ‘safe height’, ‘start/stop g-code’, ‘tool changing’, and any other gSender specific settings won’t carry over to the remote computer. If you want to make sure files are run the same way every time you’ll need to transfer your gSender settings over by following the ‘Transfer Settings’ instructions below
  5. If you’re using your phone, save the unique URL to a bookmark on your homescreen so you can open Remote gSender easily every time! Check out this video for details


If you ran into issues during remote control setup, here are some other checks you can make:

  1. The easiest checks to make sure remote mode works for you is to make sure you have gSender open, you have gSender connected to your CNC, and you’ve turned remote mode on
  2. Double-check your remote mode configuration menu, antenna icon, and IP address are showing on the inline computer
  3. Ensure both your computers / devices are on the same internet network and the IP numbers match on both devices
  4. Double check you took the right steps in the Firewall Setup section. Your inline computer might be blocking gSender’s ability to send information to the internet because of the firewall. On Windows, follow these steps to modify the firewall:
    • Click Start and open your computer’s Control Panel
    • Open the ‘System and Security’ settings
    • Open the ‘Windows Defender Firewall’ and go to its ‘Advanced settings’
    • In the column on the left, click on ‘Inbound Rules’ and then find and double-click on ‘gSender’. There might be three options of gSender to click on, you’ll want to click on the version that has the word “All” under the ‘Profile’ column
    • In the pop-up box, click on the tab labeled ‘Protocols and Ports’. Next to ‘Local port:’ you’ll want to use the drop-down menu to select “Specific Ports” and then type in the default port of “8000”. If you have added a custom port to gSender’s Shortcut properties, you’ll need to type in that number instead. Once you hit ‘Apply’, you can check to see if this resolved your problem.
  5. If when gSender reopens you’re met with a white screen, this means an error has occurred that we weren’t able to detect. This is rare, but unless we can find some other way to manage this the only fix is to uninstall gSender and reinstall it again.
  6. If on the remote device you get a popup for “Server Connection Lost”, this indicates that either gSender on the inline computer was closed or the shared internet is disconnecting. You should be able to fix this by restarting gSender on the inline device, then clicking “Attempt Reconnect” on the remote device.

About Page

You can find the release notes for the latest version of gSender in the “About” section of the settings.


Check out this livestream if you’d like to see a super deep dive on gSender and all of its features as of 0.6.9. Chris spends a lot of time answering questions live about gSender and how to set up for a project: