G-Code command length in Grbl

I have started working with F Engrave a bit and one of the problems I ran into is that the G-Code created by F Engrave contains command lines over 50 characters long. The documentation from F Engrave suggests that changing the #3 value in GRBL from 50 to 80 will fix the command length problem.

I have also run into other programs that generate long command lines (usually comments)

My question is will changing the #3 value to 80 have any negative impact on Easel?

Link for this? Searched F-Engrave and didnā€™t see the number 80.

AIUI, the only mods needed to support Grbl are: Shapeoko CNC Router, Rigid, Accurate, Reliable, and Affordable

Select the ā€œDisable Variablesā€ check box in the F-Engrave Settings window
un-select the ā€œEnable Arc Fittingā€ check box in the F-Engrave Settings window
Use F-Engrave version 1.34 or higher

Here is the link

The paragraph where discussed is:

ā€œError while starting file stream: Command #3 too long: (55 > 50) ā€˜(Settings used in f-engrave when this file was created)ā€™ ā€

GRBL Error

This error is generated because the #3 value set in GRBL is 50 and it need to be increased to allow longer g-code lines to be processed. Setting the #3 value in GRBL to 80 should be sufficient to accommodate the g-code generated by F-Engrave. (Thanks to Barry W. for this information)

I donā€™t think that you should change the grbl value. The recent versions of Grbl use a different settings map. Look at the most recent one here. Configuring Grbl v0.9 Ā· grbl/grbl Wiki Ā· GitHub

You can configure the line length as a compile option in the Grbl source, but I donā€™t think it can really be increased because the Arduino memory is so limited.

There should be a setting in F-Engrave for controlling line length (or decimal precision).

There is no #3 option for Grbl. It has a hard limit of 50 or 70 (79) characters per line due to limitations of the Arduinoā€™s memory capacity. Moreover, Grbl uses $ to indicate its settings options.

If F-Engrave canā€™t be set to send a reasonable decimal length, then you can either use a tool which will do this on the fly when sending, or you can pre-trim to 3 (for Imperial) or 4 (for metric) files. This can be done just by truncating w/ a regular expression in a text editor (regex: Shapeoko CNC Router, Rigid, Accurate, Reliable, and Affordable ), or use a special tool for it (Javascript for this: Shapeoko CNC Router, Rigid, Accurate, Reliable, and Affordable ).

This is an FAQ on the Shapeoko wiki:

Since this isnā€™t really an Easel issue Iā€™m going to move it to the CNC category.

1 Like

Iā€™m getting this error now with UGS nightly build (9/2017) , v1.1f of firmware on a 3d carve. Iā€™ve seen this occasionally, and just retrying it a few times seems to ā€œfixā€ it, but now I canā€™t get past it.

The error was a :NULL. I moved from the Platform (.exe) to the .bat script which calls the .java script and itā€™s working. Go figureā€¦ Platform vs. Classic. Classic works and Platform doesnā€™t.