SO5 Pro inline comment firmware issue

There seems to be a firmware issue for the SO 5 Pro. The machine will lock up and stop responding if it receives a inline comment. I can get it to respond again by disconnecting and reconnecting to the controller. This happens in any 3rd party Gbrl gcode sender such as “G-sender”, “Universal G-code Sender” and “CNCjs”.

Examples to reproduce bug:

  1. Send “G91 X-5 F200 (test)”
  2. Send “(Test comment)”
  3. Send “(”

My guess is that the firmware does not know how to handle inline comments and carbide motion just does not send inline comments to the controller.

Has anybody been able to successfully use inline comments with a Shapeoko 5 Pro not using carbide motion?

1 Like

Carbide Motion strips out comments so that might be something that didn’t get a lot of testing during development. We’ll take a look at it the next time we dig into the firmware.


Thanks for the quick response.

In the meantime for anybody else running into issues with fusion 360 and G-sender using in line comments, you can side step the issue by doing two things.

  1. Change the post processor in fusion360 to use “;” before the comment and nothing after rather
    than “(” before and “)” after. This is done on line 167&168 of the pre-processor file.

  2. Modify G-Senders code to not replace M6 commands with inline comments. This can be done by modifying the index.js file found in “C:\Program Files\gSender\resources\app\server”. There are two lines of code that will need to be changed, 8395 and 8532.

Change 8395 from

          line = line.replace('M6', '(M6)');


          line = line.replace('M6', ';M6');

and change 8532 from

          line = '(M6)';


          line = ';M6';

Realistically this is a band aid rather than an actual fix as that will need to be done firmware side. Hopefully this helps others running into the same issue.


I can also confirm that SO5 locks up when I try to use any other gcode sender. Thank you for investigating the problem, @Gibs! Your explanation and solution make a lot of sense.

After some more time with the machine and fusion 360 I have found the need to modify the post processor further. I have added a option in the post processor to specify delay time between spindle start and the rest of the job. I have also added a VFD spindle speed calibration section.

I found through testing that my RPM displayed on the VFD was always off by more than was acceptable to me. I mitigated this issue by adding a calibration table to the post processor settings. You can calibrate your VFD speed with the Shapeoko’s output signal by inputting the actual values read from the VFD into the calibration table. The post processor will interpolate the calibration table to request a speed that runs closer to your intended process setpoint. Using this method I can generally get within 50 RPM’s of setpoint up to 22k RPM. Some setpoints it is spot on.

Example to calibrate VFD speed:

  1. Start up the machine and send it the command M3 S8000 to start the spindle up spinning at 8000 RPM’s.
  2. Write down the RPM number displayed by the VFD
  3. Repeat step 1-2 for all calibration points. (1000 RPM intervals until 23k RPM)
  4. Input values into the calibration table found in the post processors properties.

Post processor file with all modifications for SO5 and VFD spindle: (13.3 KB)

For those of you who are using G-Sender I would also like to note that since there was a update, the line numbers that need to be edited have changed. You will now need to edit line number 8914 and 9047 for G-Sender version V1.2.


I don’t think there are many that are building it themselves.

Is the firmware on for the SO5 proprietary?

You do not need to build G-Sender. It uses electron which embeds chrome and node.js and your code into a nice executable app. This means that you can edit the JavaScript code at any time since it is compiled at run time.

“C:\Program Files\gSender\resources\app\server” would be the path if you installed using default locations. Index.js or Index1.js is the file that needs to be changed.

And yes the firmware source code is not openly available to the public. If it was, this would have been fixed by now.


I guess build was the incorrect term.

Hi Gibs,

I’m having a hard time finding the spindle calibration table in the post processor properties. Mine does not show a table like you have in your screenshot. Is there something I have to do in order to be able to have this table display?

Additionally, is this something that has to be setup in each NC program?

Thanks in advance!

Hi dellec5c, you need to use the modified post processor file I uploaded in the previous post.

1.Go to manufacturing view in F360 and click on “Manage” then “Post Library”

2.Click on “Local” in the left side of the pop up screen and then click “Import”. Select the post processor file I provided.

  1. When creating the NC make sure to select the correct post processor in the drop down. You can find it in your library that you just imported it to.

The settings only need to be input once and will be applied to all NC’s as long as you are using the correct post processor.

If you have any further questions or help needed let me know. :smiley:


Hi Gibs,

Thanks for your fast and detailed response! I’ll try it out later.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.