Two questions. With other software I can issue $# command in serial console but

Two questions. With other software I can issue $# command in serial console but with chilipeppr that is filtered out. Is there a different way to issue that command that i have missed?

Secondly is there a way to configure so that the grbl buffer is the default.

I thought I had asked this a while ago but didn’t find it when I was looking for the post.


What workspace are you using? If you’re in the Grbl one then Grbl is the default buffer. If $# is filtered then unclick the funnel icon in the serial port console.

Thanks, I had misread somewhere that you always had to select the grbl buffer and not the default, but yes I am using the grbl workspace so I’ll give it a try, and thanks for the tip on the funnel icon. That should do it.

You must always pick the Grbl buffer in the Grbl workspace. When I said “default” i didn’t literally mean that for the pulldown, rather I meant the Grbl workspace tells you to pick Grbl buffer.

OK, that much I had gathered before. So what I was wondering was if there was a documented way to ALWAYS set the Grbl buffer when using the Grbl workspace? That would seem to be logical, but I don’t see a direct way to do it in the UI. When I get a chance I’ll dig into the code and see if there is something I can do there.

Also I tried toggling the filter on / off and it makes no difference on the processing of the $# command. It’s not a huge deal since can use bCNC or other tools to access the information but it would be nicer to be able to do so from within ChiliPeppr.


What does $# return to you? All returned serial commands show in the serial console window except I think Jarrett does dedupe position values meaning if a position is sent back that was identical to the previous one, it’s thrown away and it makes it look like you got no response. This is a workaround because Grbl isn’t smart enough to send you updates when it needs to, rather you have to just blindly poll every 250ms.

The Grbl buffer is always set to “grbl” by default by the workspace but perhaps you’re not realizing why you get a choice. There is a use case where you need/want to connect to multiple serial devices from inside ChiliPeppr. If you want to connect to an Arduino to toggle on/off a laser during the CNC run, then you need to connect with a “default” buffer to your Arduino. Thus the choice.

Thanks John,

$# is the GRBL View gcode parameters command. When issued $# should return the values set for the workspaces e.g. G54…G59, G28/G30 pre-defined positions, etc. It’s not something that would normally be sent during the running of a job.

In ChiliPeppr it just returns “ok” after issuing the command in the console field. No data is returned. If I use a serial comm program or bCNC then $# is sent and GRBL responds as expected.

I see the thinking on having the option to switch buffers, but it would sure be nice to make that option “optional”. That is if you only are controlling the basic CNC machine and do not need to connect to any other serial devices a nice option would be to have the grbl work space default to using the grbl buffer.

Of course it is kind of a minor annoyance, and won’t be that bad when I get my new monitor on the CNC system. The old one I’m testing with is limited resolution so I have to do extra scrolling to change the buffer and then connect.

If you just use the serialport workspace at doesn’t it show everything correctly?

I agree the SPJS widget could hide the option of changing the buffer, but it does a lot of work to default to that buffer so its brainless. I don’t think this is a buffer picking issue because regardless of buffer choice just issuing $# should be ok. I’ve seen many folks have the $# results spit out to the serial console so I’m not really sure why you can’t see it. Maybe it’s a newline, carriage return/newline thing. CP only sends newline.

Thanks John, I’ll try the serialport workspace as a test. I was thinking that perhaps the ‘#’ is getting parsed out in the grbl serial console processing. But that is just a guess, since every other command sent from the serial console so far doesn’t have a problem I don’t think it is a CR/LF EOL issue, although that is worth checking too. I don’t think that the $# problem is a buffer related issue either. I was just mentioning that in my specific case it would be nice to not have to always select the grbl buffer whenever I start CP.