CNCjs and Shapeoko 3

Diving into the world of CNCjs. I’ve been running a few projects by “air cutting” them until I get it sorted out. Having some small issues with tool changes. I’m using Neil’s Macros for the touch probe, initial bitsetter, and in-game tool change. They are working great. In VCarve Pro I have assigned to tool numbers based on the Amana and C3D part numbers, ex 302, 46052. I was getting error code 38 when it was time for a tool change. Figured it didn’t like the tool numbers so I changed them to 1 and 2 just to try it. I no longer get the error, but now it doesn’t say what bit number to use. When using multiple bits, 3 or more, sometimes its hard to know which bit it will be using next. I’m not sure of the syntax using the M6 and T command. What parameters do we need to keep in the tool numbers? TXX. Is it just 1-6 or can I actually put more digits? ex. 301,302. It worked in Carbide Motion, but still trying to work it out in CNCjs. One other question, I saw a post in this forum from 2018 about custom messages during the M0 and M1 holds not being possible. Is that still the case? Just looking to maybe add the “turn off/on spindle” or “Probing” just to keep me on track as to what is happening. I’m using Neil’s latest GRBL_mm_TC post processor for VCarve. Is that the best one to use. Lot’s of questions…I know. Neil got me interested in CNCjs, I blame him. Just kidding, he’s been a great help!

Tool numbering is limited to 255 in grbl. Any decimal from 0-255 should work.


I get an error code if I use anything over 99. Guess that’s the limit on this.

What error? I haven’t looked at this much, but 255, as @Nessk mentioned, is defined by the grbl source.

I’ll get a pic of it tonight. I can’t remember, think it was error 38. I’ll double check tonight.

1 Like

I’ve decided to ignore the tacit direction of C3D’s example for unique tool numbers. Right before I save my toolpaths to a single gcode file, I develop the tool numbers for that file.

Problem solved.

Ok. I ran the exact same gcode twice. I did not get the tool number error tonight, but on the first run I did get error 2 and error 28. Smh. I ran this same code Saturday and got the red error banner on cncjs and error 38 in the console.

Those errors look like they’re showing up while you’re setting your Z, not during the program. Not sure what’s going on there.

Has anyone else had issues where both the Axis widget, and sender widget stop displaying? It looks like the data is still sent, but nothing updates. @neilferreri I know you follow the development carefully, have you heard of this, am I missing something?

I run mine on a Raspberry Pi connected to the Shapeoko. I’ll get a disconnect between the Pi and my tablet or Mac if I let it go idle too long. The Pi happily keeps running the job.

1 Like

I’ve had it where the data wasn’t updating down in window with spindle speed, spindle on/off, etc. Luckily I haven’t got my new spindle in and was still running off the Carbide Router. Hopefully it was still getting the commands in the gcode and just not updating the window.

Oh I haven’t even looked at my spindle info! I’m running the whole thing natively on my mac, so it’s not a disconnect error but that makes me wonder what will happen if my mac sleeps…

Yes. I have not personally seen it for a while, though.

Assuming you guys are using 20 or 21? That’s disappointing. Get as much info as you can and add to the issue’s thread.

1 Like

Updated what I could.

1 Like

I have seen it where the display no longer updates - elapsed time, time remaining, cut preview etc, all stop updating yet the cut continued fat, dumb and happy. If I recall it was after the laptop had gone to sleep for a second. I have since updated my power settings so it doesn’t sleep so I haven’t seen the issue again

OK all you CNCJS guys, this is a long drawn out intro video for CNCJS. There is a lot of extra steps here. I plan on doing another one later after my limit switch comes in to make it easier to understand. You guys have any suggestions to add or subtract from the next one? Really trying to help new guys get into the program without the fear of the unknown. (like I did)


That issue is my exact problem, I added myself to to the list. Thanks as always!

@ogbulldog That would have been incredibly helpful when I went to set up a couple weeks ago. There are a lot of newcomers to CNCjs that could benefit from this.


I’ve been working diligently in CNCjs to produce ground dowels from end mills. I’ve hit a snag, I’m attempting to load a .nc file that will likely crash into all of my workholding, and it wont load. All I get is the spinning loading wheel of death. Is there a flie size limit on js like there is on CM ?

While I’m posting I’d like to give a HUGE shout out to @neilferreri for his macros I’ve done some tweaking to get the “flavor” right for my XYZ probe, and you sir have saved me hours of work!

1 Like

I get the occasional spin but if I refresh the browser it shows it’s loaded

1 Like

Ahh good call, I’m in the Electron app, so I have no browser refresh. I’ll look to see what the equivalent is thanks for the tip!

EDIT: @wb9tpg Good call, that fixed it. If anyone runs across the same issue then go to View > Reload. or (Command +R) if you are on a mac.