CNCJS CNC Control Software

Is there like a CNCJS getting started for idiots? Because I think I need to find that video.
If only Carbide would give us a way to remove the hard limits in Motion. lol.


For the life of me I couldn’t figure out why my Z limits were not woking. Answer; because I over looked $20=1. Which I might add is also talked about in this thread. Yeah, I feel a bit of an idiot. lmao. Soft limits are now working fine.
Griff / neilferreri Does, or is the macro you guys have been workin on for the Carbide 3d probe?

Ha ha! I can relate, same place I was 6 months ago. @neilferreri was a huge help to me, search his posts.
But you need to learn the basics, pretty much by trial and error. That’s what mdf and sketchy end mills are for

Hang in, you’ll get it.


Should work fine. I don’t have a C3D probe, but I believe @Griff used it.
I don’t have that one on the GitHub site, but I’ll add it later after I track it down.

EDIT: Here’s one that you can enter your end mill’s diameter.

And here’s one that will calculate the diameter of your end mill for you! (Edit: wrong link. Corrected and explained a few posts down)

Would love feedback as when I have a minute to use the machine, I’ve usually got something more pressing than macro testing to do.

1 Like

@Griff. Thankfully I have a stack of scrap MDF, and some older end mills. lol. Trial and error I’m good at.
Lots of practice.
@neilferreri. Thats awesome. I will try and get those up and running tomorrow. As for feedback, well I will do the best I can. Just keep in mind that I don’t even know what I don’t know yet. lol. Still trying to figure that out. I am currently using my"googlefu" skills and reading through the wiki to learn about how to add macros. I think I have the general idea.
The hope is that once I get this figured out I can start playing with the new laser for the machine. lol.

Oh, and thanks for the help and encouragement!

1 Like

Once you get it, it opens up a lot of doors.
CM is kind of like a black box of gcode senders…it works, but it’s hard to understand what’s going on.

BTW: Adding Macros


So, Today in the game of push the button and see what happens. lmao.
@neilferreri The probe macro is nifty, though I think I am messing something up. I used the one you linked to that will calculate the diameter of the end mill. I was thinking it would find not only the diameter of the end mill, but set the work zero for X,Y, and Z. It sets the Z fine, but then jogs a couple inches away and sets that as my X, and Y zero. I honestly have no clue how I messed this up.

After playing with this several times, and it doing the same each, I found that if I homed the machine I now have to make sure that my Z is within 3 inches or so of the Z homing switch or it errors out. So, I closed down CNCJS, turned off the machine. I then decided I would not be defeated (read as not done screwing things up yet). I brought UGCS for the nifty list of what $ does what. After another several rounds, my Z axis will only move about 4 inches before it is convinced that it hit a soft limit. Currently I have $132=150. I finally admitted my defeat and called it a day. I think I will print out another list of the default $settings and give this a try again tomorrow.

@Kat I jacked that up. Thanks for testing. The link I gave you was for the wrong file (I named them incorrectly), the probe dimensions were off (I think…what are the X & Y dimensions of the C3D probe?), and there was probably something else.
Anyway…the one you want is linked below. Because I don’t want anyone to mess up their probe / end mill, some of the moves go too far. That can be tightened up.
Also, my probe diameter was consistently 0.1mm small (I used a carbide blank), and after checking everything else 100 times, I am guessing I have some belt stretch calibration to do. I’ll get to that eventually.
Video - braved the freezing garage just to get this.

C3D Probe Macro (Tool Diameter Independent)

Beaver CNC Probe Macro (Tool Diameter Independent)

If you have your own design for a probe block, you can just modify the “User defined variables”.
The Beaver CNC version works better for blocks where the wire connects in the back. C3D’s version is if wire connects on the right.

For what it’s worth, I think the macros above are a bit of a novelty. They might be a decent solution for probing with a v-bit or tapered end mill. In most other cases, though, you would know your end mill’s diameter.
In this macro, you can manually change the diameter as you need.


@neilferreri. Thanks! I understand the freezing part. lol. Though luckily its not been to bad here the last couple of days. I will try and give this a go either tonight or tomorrow with the new macro. I first need to figure out what I messed up with the $ settings yesterday. I printed out the base (factory) settings so am going to go through and double check that.
My normal method for probing might be wrong or just off the wall, I don’t know, but it works for me. I generally pick an end mill (typically .250) and probe X, Y, and Z. As most of the projects I run use more than one end mill I normally only probe Z after that. Or if I have to stop part way through a job and turn every thing off, I can grab the same .250 end mill, or what ever I used, probe X, Y again, switch to what ever end mill I am using for the tool path I stoped at, probe Z, and pick up where I left off. Hope that makes sense.
To be honest I really don’t understand enough about the G code to edit, or make macos yet.
I will take some measurements of the C3D probe this evening as well.
Thanks again!

Dimensions are at:

and I believe are on Thingiverse as well.

1 Like

Your homing switches are probably as precise as a probe, especially when using an endmill as the probe. I would just home, probe Z, and go!
By the way, I had no idea the C3D probe was that big…updated that macro to match. If you don’t have the monster probe from C3D, just change the dimensions in the “user-defined variables”.

Sorry for the delay. Wasn’t feeling well yesterday so I laid on the couch and tried to elicit sympathy from my wife. lol.
@neilferreri I don’t think Im understanding about using homing as a probe. I generally home the machine, the use the probe to set X, and Y work zero. Not so much tool diameter, then just probe for Z on tool changes.
Though to be honest, right now I am at a complete stand still.
Currently my Z axis will only move 0.5 inch total. I have no idea what I have done. I just spent the last couple of hours tryin to figure it out, but have not. It was working fine, I adjusted a couple of settings, then it was not working fine.
After deleting the macro, I tried to adjust the X travel of the machine to take advantage of the new HDZ. I must point out that up to this point everything was working fine. So, it’s something that I’ve done, I just don’t know what. I followed the same things I had done for adjusting the Z travel.
I made sure that Soft limits are on, $20=1.
On my XL the Carbide my X travel as per the newest version of Carbide Motion is 820mm.
I set $130=845, but the X axis docent stop. Moving it slowly it will still hit the left side. I even tried $130=650 just to see, but it will still breeze past 650mm and keep going. I decided to home the machine and start again. Now if the Z axis is not with about 2.5 inches of the limit switch it errors out. When moving the Z axis I will move only about 0.5 inches total.
I now have no clue what so ever how I screwed this up.
Please help.
Current setting different from Factory Carbide $ settings;
I can post a listing of all the current $ settings if that would help.

@Kat I was responding to your mentioning that you re-probe X&Y after you power down. Your WCS zero will remain even after a power cycle. If you leave the workpiece where it is, no probing would be necessary.
Nothing in CNCjs would affect your Z. What do you see when you try to move the Z? Sent PM

1 Like

@neilferreri Thanks for the help.
So incase anyone else should have this issue, or just wish to laugh. I have to admit that I feel abit foolish. Setting $102 by default is $102=40.000. In the instructions for the HDZ @Luke covers this step by step. I either reset this at some point after setting, or like an idiot forgot to hit enter. lol. Neiferreri spotted this and steered me in the right direction. Sure enough I set it to $102=320 (remembering to hit enter this time) and everything is working as it should. Yeah, I had over looked this. lol.
Thanks again to Neilferreri and to Luke.

1 Like

@neilferreri I’m cutting an HDZ backplate while I’m typing this.

Roughing cut is 3d adaptive, optimal load at 0.5mm, doc 5mm, feedrate 2500 mm/m. CAM file is huge, 16,752 KB. Noticed a couple of things in the first few minutes of the job,
1 I cannot decrease or increase feed rate
2 Got one message, “the server has stopped responding” although the cut is proceeding.

Standing by the oh shit switch

1 Like

I saw something similar @Griff. The carve finished and I didn’t notice until it was almost done.
Just did a test (not on a real carve and not when it was “frozen”)…
Clicked View --> Reload
CNCjs looked like it was disconnected, but serial communication was still going.
Opened connection again, and it was still going, running the whole time in the background.

Looks like the same as this?


I’ll do some digging tomorrow.

Another glitch to note, I paused the cut successfully but was not able to restart.

I’ve never experienced these sorts of problems before, is it possible the file size has anything to do with it?

No luck with this file in CNCjs.

Installed UGS, dusted off non-existent skills, watched Mr. Beavers probe video, back in business. I think.

File is cutting, complete override controls plus pause/resume.

We’ll see.

1 Like

Did the carve fail with CNCjs, @Griff?
Or did you just lose responsiveness?

No it didn’t fail, just got nervous about the loss of responsiveness especially with a large piece of ali at risk.

Finished fine with UGS, 3+ hour job, 900k lines.