Using two senders (CM, CNCjs)

I’m probably going to end up using two senders. CNCjs for me to give me options & flexibility that Carbide Motion doesn’t, and Carbide Motion for my dad who runs my machine during the day & needs the simplicity of CM.

Work coordinates are saved when the machine is shut off. Where… in the software, or on the machine? If I set coordinates in CM, will those be available in CNCjs?

In the controller (machine).


Yes, they’re stored on the machine controller.

I actually find CNCjs more reliable and dummy proof. It may be from when my 3rd cut on my machine CM decided to do a homing cycle on its own before cutting the same part a second time and then came plowing through the part with a V-bit, no damage other than a fouled up part.

After that I switched to CNCJS running on a RaspberryPi3 that I was already checking out before getting my XXL and haven’t looked back or made a bad part since. The workflow is slightly different, but for me at least, less prone to mistakes on the part of the user or apparently the software. I also love the visual representation of the job and being able to see near real time tool position and completed/incomplete paths.

Another plus is being able to put my laptop away from the machine to keep a little more dust out of it. The Rpi doesn’t mind the dust and is mounted to one of the legs of table I built for the Shapeoko. I just connect to it using web browser on the laptop or my desktop and upload the file to be cut. I added macros for probing that work great and might actually take fewer clicks than CM to run.


I installed CNCjs tonight, opened it up and messed around with it a bit. I jogged up on the Z axis and it kept on going, right through the proximity limit switch (bent the bracket back). I whacked my kill switch & shut it all off. I was able to fix it but it didn’t seem to see the limit switch. I had previously homed though. Maybe I somehow shut them off?

By default the homing switches aren’t configured as limit switches — we do use them to implement soft limits when jogging in Carbide Motion, hence the confusing terminology.

Got it. So CM is setting soft limits after homing, but CNCjs isn’t & that’s why I could jog right past the switch?

And, is it correct that $20=1 enables soft limits, and I can use $130, $131 and $132 to set max travel settings that CNCjs will obey?

Your soft limit setting would persist regardless of the sender you’re using.

Yes, but again, that shouldn’t change from sender to sender.
Can you post your grbl settings? (Send $$ in the console in cncjs and paste the response here)

Here they are out of CM:

(375): <- $132=80.000
(374): <- $131=850.000
(373): <- $130=845.000
(372): <- $122=200.000
(371): <- $121=400.000
(370): <- $120=400.000
(369): <- $112=1000.000
(368): <- $111=5000.000
(367): <- $110=5000.000
(366): <- $102=320.000
(365): <- $101=40.000
(364): <- $100=40.000
(363): <- $32=0
(362): <- $31=0
(361): <- $30=1000
(360): <- $27=5.000
(359): <- $26=25
(358): <- $25=2000.000
(357): <- $24=100.000
(356): <- $23=0
(355): <- $22=1
(354): <- $21=0
(353): <- $20=0
(352): <- $13=0
(351): <- $12=0.010
(350): <- $11=0.020
(349): <- $10=255
(348): <- $6=0
(347): <- $5=0
(346): <- $4=0
(345): <- $3=2
(344): <- $2=4
(343): <- $1=255
(342): <- $0=10

I set $20=1. Back in CNCjs, I can jog up on Z until I reach zero, then it stops & reports that the soft limit was reached. No movement is allowed until I click Reset, then Unlock, then I can move in any axis again. This seems right?

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