gSender v1.6.2 - Release Thread

gSender 1.6.2

After several months of Edge releases, testing, and community feedback, gSender 1.6.1 is here.

This release represents a large step forward for gSender. Much of the work throughout the Edge cycle focused on building out deeper tooling workflows, expanding controller capabilities in order to support newer versions of grblHAL, and improving performance and stability across the application.

A huge thanks goes out to everyone who tested the Edge builds and provided feedback along the way — many of the improvements below came directly from that input.

Below is a look at the biggest changes that made it into 1.6.0.

Firmware Compatibility

This release expands compatibility with newer grblHAL firmware cores. Updates were made across the communication and configuration layers to better align with recent firmware changes and ensure gSender can properly take advantage of all new features in more recent grblHAL versions.

These improvements help maintain compatibility as the grblHAL ecosystem continues to evolve, allowing gSender to work more reliably with newer controller firmware, updated settings structures, and additional capabilities exposed by newer firmware releases.

Performance and Infrastructure Improvements

Several foundational improvements were made for 1.6.0:

Faster Startup Times

Startup performance has been significantly improved in this release.

A number of internal optimizations were made to the application initialization process, reducing the amount of work that needs to happen before the UI becomes usable. These changes include improvements to module loading, background initialization, and general application startup flow.

In practical terms, this means gSender launches noticeably faster, especially on systems where startup time was previously a concern.

For many users the application should now feel much more responsive when opening, getting you connected to your machine and ready to work sooner.

Build System Improvements

The internal build pipeline was updated, resulting in:

  • Faster development builds
  • Smaller packaged application size
  • Improved overall maintainability
  • Mac silicon version now provided and added signing for both Mac releases

Built-in G-code Editor

gSender now includes a built-in G-code editor for inspecting and modifying files directly inside the application.

The editor includes:

  • Syntax highlighting
  • Search functionality
  • Quick navigation to specific terms or lines
  • Basic editing and saving capabilities

The editor also acts as an additional progress indicator while running jobs, highlighting which lines have been processed.

SD Card File Management

SD card functionality has been expanded significantly.

gSender can now interact directly with files stored on the controller’s SD card for grblHAL devices. It uses yModem protocol for USB connections, and FTP when connected over ethernet.

You can:

  • View files on the SD card
  • Upload files
  • Run files
  • Delete files

Files can be uploaded using drag-and-drop or file selection, making it easy to move jobs onto the controller.

When running jobs from the SD card, gSender now displays progress feedback similar to streaming jobs directly from the application.

Automatic Tool Changer (ATC) Support

One of the largest areas of work this cycle was full ATC workflow support.

gSender now includes an integrated system for managing tools, tracking tool changes, and working with the Sienci ATC more easily.

Tool Table

A new Tool Table allows you to manage all tool-related information in one place.

You can now:

  • Store tool offsets
  • Assign nicknames to tools
  • Probe individual tools or complete racks

This makes it much easier to maintain consistent tool setups across jobs.

Tool Timeline

Tool changes during a job are now represented in a Tool Timeline, giving a clear view of when tool changes occur and which tool is currently active.

This helps users quickly understand multi-tool programs and track job progress more easily.

Tool Remapping

Tool remapping allows you to adapt a G-code file’s tool numbers to your machine setup without editing the file itself.

This is particularly helpful when:

  • CAM tool numbers don’t match rack positions
  • You want to run the same job with a different tool configuration
  • Tool racks change between jobs

Remapping can now be configured directly inside gSender before running a job.

ATC Workflow Controls

New controls were added to support day-to-day ATC operation.

You can now:

  • Load tools - both manually and using the rack
  • Unload tools - both manually and using the rack

These actions tie directly into ATC macros and make managing tool states much easier during operation.

Accessory Installation Tool

To make getting started with an Automatic Tool Changer easier, gSender now includes an ATC setup tool that helps guide users through the initial configuration process.

The setup tool walks through the core steps required to configure an ATC system, including importing macro templates, defining rack size and behaviour, and writing the required configuration files to the controller’s SD card. This removes much of the manual setup that was previously required and helps ensure the necessary macros and configuration files are installed correctly.

The goal of the setup tool is to simplify the process of bringing an ATC system online, reducing the chances of configuration mistakes and making it easier for users to get up and running with automated tool changes.

We’ve already also implemented a spindle install tool, to help users with setting up their spindle accessory on arrival.

Improved Visualization

Visualization has seen several improvements in this release.

Rotary Visualization Improvements

Rotary jobs are now visualized more accurately, with fixes to geometry rendering and preview alignment. This provides a much closer representation of the final machined result.

Tool-Based Visualization

Tool changes are now visually separated by colour, making it easier to follow complex multi-tool jobs directly in the visualizer. What colour represents which tool is indicated in the tool timeline.

Processed Line Display

A new option allows you to hide processed lines entirely instead of greying them out.

For long jobs this can make the preview significantly easier to read.

Improved visualization speed

Visualization parsing had significant improvments on both speed and memory usage. The end result is that users should be able to visualize larger files faster.

Benchmarks indicate about a 50% increases in visualization and a 35% reduction in memory used.

EEPROM Editor

Advanced users now have access to a new EEPROM editor.

This tool allows you to:

  • View EEPROM values
  • Modify configuration parameters
  • Search for specific settings

This replaces the older legacy firmware tool and provides a more flexible interface for working with controller settings. You can find it in the Config section of gSender.

Check Mode File Validation

A new Check Mode automation feature makes it easy to validate jobs before running them.

With this option enabled, on job load, you will be prompted if you want to check. If you select yes, gSender will:

  1. Enable GRBL check mode
  2. Run the loaded file
  3. Report any errors found

This helps catch issues before starting a real job.

Additional Improvements

Alongside the major features above, this release also includes a wide range of smaller improvements and fixes.

Some highlights include:

  • Custom Ethernet ports are now supported
  • Improved outline behaviour and new outline options (Rapidless square - generate a square that ignores G0 movements and just reflect cutting movements)
  • Ethernet auto-reconnect improvements
  • Better portrait mode space usage (larger buttons!)
  • Remote mode - config is now accessible, settings are now synched between the main app and remote clients
  • Config tool performance adjustments
  • Improved job time estimates when feed overrides are active
  • Improved rotary job time estimation
  • Option to backup settings over specific time periods.
  • M0 / M1 pauses now properly display associated comments
  • Better application responsiveness on small resolutions
  • Better application responsiveness/use of space on portrait mode
  • Remote mode configuration access improvements
  • Updated library dependencies
  • Numerous bug fixes and stability improvements
  • Better Config reactivity when updating options that allow new options.
  • File associations so you can load a gcode file by double clicking it in your file explorer of choice.
  • Functions that require the machine to have been are disabled until homing is reported by the firmware for grblHAL devices.
  • Gamepad options and configuration updates - some new behaviours related to jogging.

Thank You

This release wouldn’t have been possible without the community members who tested the Edge builds, reported issues, and provided feedback throughout the cycle.

Your input helped shape many of the features and refinements included in 1.6.0.

As always, if you run into any issues or have ideas for improvements, we’d love to hear from you.

  • Added option to skip the first tool change when using fixed strategy, with a prompt to confirm
  • Added application scaling support for larger monitors and devices (Config → Accessibility)
  • Rapid Position and Park buttons now enable correctly after homing on grbl controllers
  • Spindle Delay config now properly reads $392 on older firmware versions
  • Go To flyout can now move in machine coordinates (MCS) when homing is enabled
  • Go To flyout now uses the same safe height logic as other Go To actions
  • Machine defaults selector will now prompt to apply changes where needed
  • Gamepad Park shortcut now works as expected
  • Gamepad Fixed Rapid Position shortcut using stale position data
  • Macro keybindings should persist again
  • Continued improvements to rotary time estimation
  • Fixed issue where tool table was assumed as compiled in from PRB: output (not always present on some grblHAL setups)
  • Laser test now calculates max values using $30 (grbl) or $730 (grblHAL) instead of local state
  • Added iOS application icon support for better branding on handheld shortcuts
  • Added option to toggle probe type directly in the Probe drawer for quicker swapping of probe block types
  • Improvements to Automations editor (variables dropdown + general UX tweaks)
  • Added option to disable Electron power saving (allows screen blanking)
  • Lite mode toggle is now more obvious when enabled/disabled
  • Macros now show again in Remote Mode
  • Updated 3D Probe instructions to better match the selected probe type

gSender 1.6.2 is a smaller follow-up release focused on polishing up some edge-case issues that cropped up after 1.6.0, along with a number of workflow and usability improvements across the application. A lot of this work targets firmware compatibility, ATC/tool change flows, and smoothing out a few rough edges reported by the community over the last little while.

Data collection and analytics

You may also notice that gSender prompts you again about analytics/data collection preferences after updating. If this feels familiar, you may have already responded to this prompt quite a while ago and simply forgotten about it. We’ve recently changed analytics providers, so we wanted to give everyone another opportunity to review and update their preferences.

The data collected is primarily general usage metrics, operating system information, and tool usage data that helps us understand what parts of the application are being used most often and where issues may be occurring.

As always, analytics participation is completely optional and can be enabled or disabled at any time in the Config section of the application.

General Fixes and updates

  • Updated firmware defaults to better account for TLS/probe misconfiguration scenarios
  • Various firmware default updates and compatibility improvements for newer firmware versions
  • Uploading to SD cards over ethernet is working correctly again
  • Laser power slider now behaves as expected on newer firmware
  • Spindle selector now works correctly on newer firmware
  • Laser offsets now map correctly to the updated Config key structure
  • Flash utility will now automatically select grblHAL firmware when SLB_DFU is detected
  • Exiting rotary mode will once again properly restore previous machine values
  • Non-enabled spindles will no longer appear in the spindle dropdown list
  • Spindle dropdown will now attempt to refresh itself automatically if empty in the Spindle/Laser drawer

UX and Visual

  • Numerous visual and workflow improvements to the tool change wizard
  • Tool change wizard will now resume the spindle before returning to the previous XY position
  • Tool change wizard and tool timeline now display annotation comments when no ATC nickname is set
  • Removed probed/unprobed status on firmware versions without a tool table
  • ATC Config will now send default values on first install instead of stored values
  • Squaring and motor tuning workflows now share the same jog popover for a more consistent experience
  • Spindle delay behaviour has been updated and is now an explicit configurable option for forced insertion when needed

Functionalities

  • Macros can now send realtime commands

Download

gSender can be downloaded on Github

Download

7 Likes

On the subject of newer firmware, are there any gSender features that don’t work with newer firmware?

Thanks, and nice work!

They should all work with the new firmware and the old. Internally we’ve been running almost exclusively on the new firmware for several months and had a fairly large beta testing group.

For any behaviour changes (like the new spindle command, or config options, or default restore, etc.) we use the reported firmware version to determine what action to take - so it’s hopefully seamless from the user experience.

If you find any quirks that our beta testers didn’t, however, feel free to report and we’ll address it.

1 Like

Great Job! I am so happy to see that a bunch of items that we have been talking about were addressed. I look forward to seeing how everything works!

A quick issue/question. In Laser Mode as shown in first picrure, output is set for 1%. When clicking on the Laser On button the console shows the output seen in the second picture. It looks to me like the ‘Laser On’ button function is not correctly reading the output level. The output slider is set for 1% but it appears to me that the console is telling me that the output is at 24%. I believe that the actual laser output is clearly higher than 1% and likely closer to the 24% being reported. I may be looking at this incorrectly.

@martindg What is your $30 setting?

gwilki Not at the machine right now but pretty sure $30 is set to 1000. Thus, the S240 would code for a 24% laser power. Seems to me when the Laser On button is clicked with the Power slider at 1% the console should show G1F1 M3 S10.

@martindg I finally got time to check out my machine. I am still running gSender 1.4.12, so I can’t speak to the latest version. On mine, when I set test power to 1%, console shows an S10 command. When I set it to 2%, as expected, console shows S20.
I don’t know if this will make any difference, but as per the manual, be sure to select your laser before sliding to laser mode.

Running 1.6.0…Still not persisting Keyboard Shortcuts for Macros

I’m confident that the Laser/Spindle function is working correctly and I’m using it correctly as I do laser engraving on 3D cuts regularly and it works great. I don’t recall having an issue with the Laser On function (which I use to calibrate the alignment of the laser XY to the spindle XY) prior to 1.5.5 (or so).

@martindg I just re-read your post. My results came from using the “laser test” button, not the “laser on” button. It may not matter, but I wanted to clarify that.

For clarity, what is your $731 and $730 set to, since those are what’s used by the laser on grblHAL - and as part of the calculations for % laser test

@martindg @KGN Sorry about the $30 vs $730 confusion, Doug. I knew that in Hal, the setting was $730 and simply had a brain fart. :grinning_face:

As suspected $730 is set to 1000 and $731 is set to 0. Seems to me that with these settings hitting the Laser On button with the Power slider set to 1% the output as reflected in the console should be “G1F1 M3 S10”. What I’m getting is “G1F1 M3 S240”.

No sweat Grant. I know that the settings for Max and Min Laser output are correct in the firmware

1 Like

Since I am still on an older version of gSender, I am curious whether 1.6.0 coexists with that installation and whether all settings are imported.

I’m not able to recreate this - laser test is correctly sending a S value that aligns with the max laser setting.

That said, some of the logic on the front-end is probably unncessary and is better handled on the backend. So we’ve updated this function to grab the EEPROM value directly on the backend ($30 on grbl, $730 on grblHAL) and use that as for calculations which should sidestep the possibility of front-end powers being stale/other issues which could cause what you’re seeing.

This will be part of 1.6.1

No, main installations always replace the previous version so no possibility of having a 1.4.X or 1.5.X and 1.6.x installed. We only do that for Edge versions.

Settings should be consistent across versions.

Thanks Kevin. So, not sure whay I’m getting the issue that I am but as a workaround I created a macro to turn the laser on at 10% “G1F1 M3 S10”. This works great but I like having it set up to run from a keyboard shortcut. Unfortunately, I’m unable to get keyboard shortcuts for macros to persist across gSender sessions. As such, I need to recreate these macro keyboard shortcuts each time I fire up gSender. Curious if this is also a situation unique to my system.