Posted on

gSender – Hal + Rotary support Early Alpha

We’re super happy with how gSender has been adopted by the hobby CNC community since it’s original release. We’re continuing to grow both new users and new features and are working to create a product that meets everyone’s needs.

Part of that growth is reaching out to newer portions of the greater CNC community. As such, we’ve begun steps towards supporting two new areas – alternative firmware, and rotary addons.

The first such firmware is grblHAL. We chose this firmware for a few reasons – it’s similar enough to GRBL to be a good first addition, and we’ve identified it as a strong candidate for the updated LongBoard controller releasing later this year.

Rotary and 4-axis is also something we’ve been repeatedly asked to support. This is also an area we’re looking at developing our own version of, and have taken some preliminary steps at how we’re going to support it at a software level. We’ve taken steps at supporting files with A-axis commands for both Grbl and grblHAL firmware flavours.

Please note that this is an exceptionally early release – we really want to get this out there to start gathering feedback as soon as possible. A number of functionalities may or may not work unexpectedly with your hardware. This is our first time branching outside of supporting specifically our machines, so there will be some growing pains as we fine tune the new firmware support.

grblHal Support

Choosing your firmware flavour should be as simple as selecting whether you want to use GRBL or grblHAL before connecting.

This is a MVP which includes all expected common functionality (visualization, sending, jogging, DRO, MDI, probing etc.), surfacing, calibration and firmware (minus flashing), macros, laser and (now) Rotary.

Functionality and ease-of-use should be the same experience regardless of what firmware flavour you’re using – all HAL specific functionality are handled behind the scenes so you can continue to interact with the program as you’re used to. Try connecting, loading jobs, jogging, probing, checking out our Firmware tool and other surfacing etc. tool interfaces and anything else you’d typically do on your grblHAL enabled CNC machine.

We’re going to continue to work on further support for HAL specific functionality, along with clean up any rough edges moving forward. Look forward to network connection, flashing, and cleaner toolchanges coming in future releases.

Primarily, this build has been tested on the Flexi-HAL CNC controller in collaboration with Andrew from Expatria Technologies.

Rotary Support

Full rotary support is on its way to gSender soon, you will now be able to run your files that have A-axis movements with ease. We are still working on improving rotary for gSender, you may see some features that don’t quite do anything as we plan on working on them and adjusting a several things in the coming weeks. We do have a few great features that we would like you to try out though:


The visualizer in gSender will now be able to visualize A-axis movements for users to see, in addition, we decided to add an object that represents the stock material, which rotates accordingly during a job. We also updated the outline feature to work with rotary files more correctly for those who need to use it with rotary. We plan to refine the visualization in the coming weeks to improve it further.

Rotary Mode

Since GRBL does not support the rotary axis, we decided to get creative and come up with a good workaround. We have implemented a feature named “Rotary Mode” where some firmware values are adjusted to mimic the A-axis movement behaviour. You will be able to load 2+1 axes files that utilize the A-axis. You will notice that the Y-axis is disabled in this mode as the A-axis takes its place during a job and the fact that the Y-axis cannot be used when the A-axis is being used, so it is disabled in the app until you Rotary mode. This feature is meant for Grbl machines specifically.

A-axis Support

A-axis movements are not handled on machines running Grbl , so we found a way to mimic the behaviour in gSender and allow users to run files that have the A-axis. gSender will interpret A-axis movements as Y-axis movements now, this pairs with the rotary mode feature that helps us achieve this. This behaviour only applies to GRBL to allow the app to read A-axis movements correctly.

A-axis Control and Display

You can also control and see the position of the A-axis from gSender. A-axis control works just like all other axes, you have access to jog control buttons on the user interface, as well as the shortcuts on your keyboard or gamepad. The A-axis position readout is available and again works the same as the other axes, you have the ability to zero or go to the zero position, and update the position manually via the position input. Once we’re satisfied that all this functionality is working as expected and no other requests are made for features we’ve forgotten, the plan will be to refine the look and location of these buttons so that they can be implemented more seamlessly into gSender’s existing interface


Note: this is not an EDGE build, it contains completely new functionality aimed at grblHal/rotary users. EDGE will continue to receive updates independently while we continue to move it towards a new, Main release in the coming weeks. Once we’re satisfied with how progress is continuing with the HAL and Rotary support version and Edge is looking relatively bug-free, then Edge will become the new Main and HAL/Rotary will become the new Edge. To make this happen, we’d greatly appreciate and and all feedback you can provide

You can find the binaries for Hal/Rotary on Github.

How you can help

Use it! Please try to keep feedback to this single topic thread so that we can more easily distinguish comments that are HAL/rotary specific – we want to avoid the headache of trying to sort feedback between Main, Edge, and Hal/Rot. Any feedback in this thread about functionality either not working or not working as expected will be taken into account. As always, keep in mind this is a very preliminary release, so if you’re especially attached to your work process, bits, or expensive materials then feel free to stay away until the product is more fleshed out.