Cannot Get MKS 1.4 to respond to CNC.JS GCode commands


I have been trying to get my machine setup with cnc.js by using v1pi. V1pi was easy enough to setup and I was able to get a response from the board when I connect via USB however I do not get anything back from the board when I send a Gcode command. I used the widget for Marlin to request position. I also typed M14 in there just trying one last wag before I posted this.

I have tried starting and restarting everything - the board and the pi. I also removed the screen from the MKS 1.4 but no change there either.

Does anyone have any ideas?


That is a weird one. I am not sure.

M115 and M114 should both return fine.

The fact that it seems the version number is strange.

It also usually prints a huge amount at the beginning, the capabilities. It looks like it is maybe stuck on that.

1 Like

@jeffeb3 any Ideas on things I can try to drill into the problem?

Also you wouldn’t be able to post a picture of what it looks like when it correctly loads would you?

Might help someone in the future and will definitely help me!

I don’t have a picture handy… Maybe someone else can pop in.

IIRC, the first messages just show all the CAPABILITIES messages. Without having to send anything. Those same messages show up when you send M115.

As for where to dig in, I would connect my laptop to it next. I would try connecting with something else to decide if the issue is cncjs or Marlin.

Have you tried disconnecting with cncjs and connecting with octoprint?

Alright… I’ve gotten a little further wanted to post this to see if this was the correct feedback that I should be getting and also for others if they stumble on this thread

Yeah. That’s what I was expecting. CAP CAP CAP.

What did you do differently? Did reading the eeprom take a long time or something?

I am still trying to debug exactly what went wrong.

Here is where I am at:

I moved to trying to run Octoprint to control my board. No success. However after manually starting it and reading the logs I found that it updated and would no longer run stable. I get an illegal instruction which I believe (just my theory not proven) comes from Armv6’s limited 64 bit support.

Full disclosure I tried to ride the line and run a Pi Zero… (Microcenter back in the day had a deal 1 for $1 each time you come in so I have a … few … on hand)

I don’t think that I am having a problem with the usb bus but I am not 100% sure because I had gotten a few responses a little longer than the first one I posted.

So how did I get it to work? I took my nice(r) laptop and installed cnc.js as a desktop app to which it was more than happy to connect and drive my cnc.

Now how do I get a 64 bit computer that I can put CNC.js on that isn’t marked up 4x the price because of supply issues?

Thanks for your help

Maybe sell these at 4x prices and then buy a pi4 at 4x the cost? I honestly don’t know how to fix it.

There are alternative SOC boards like the pi. Things like the orangepi, or odroid, etc. They aren’t free either, but you are buying an entire machine. I doubt v1pi would work on them, but you could probably install cncjs in a docker container or something.

I haven’t tried a pi zero w in a long time. But when I did, it worked. It would just load the interface painfully slowly. Have you tried disabling octoprint to make cncjs work? Or installing octopi without cncjs or the landing page?

I can’t sell the Zeros… I might have another project they are under spec’d for to try with. Ha

I’m going to try and manually install everything. v1pi is nice and quick but I really need to run through the install and boot myself to make sure I am not missing anything obvious. That might be a next weekend project though

Nodejs is a bit tricky to install on arm. At least, it used to be. So if I were configuring just for myself, I would try to find a docker image with at least nodejs for the pi, and then add cncjs. But I also know docker well enough that I wouldn’t have to read the manual.