Pretty specific, but if you’re looking to use the S5Pro with CNCJS, it doesn’t work because of a firmware issue and because CNCJS injects some comments into the controller that lock it up.
The CNCJS project is also very inactive, so it wasn’t really an option to change it directly.
I forked the CNCJS repo, got it building again, and made some modifications to support the S5Pro. You can find the forked repo here:
The last release was on July 1st (minor release) and I compile it and run it on the Linux machine that controls my Shapeoko. No problems with the build for me.
All of the build badges on the github page show it failing the build, so I assumed that was the case when I started.
Initially got webpack errors on node 18 and had to use the legacy ssl provider (though now that I downgraded to node 14, that’s not necessary).
Even with 14, I get i18next-scanner errors, so I bumped the version there.
The readme.md and contributing.md specifcy npm instructions, which don’t work, and haven’t been updated to yarn, so that was a dead-end.
I guess it’s unfair to say it doesn’t build. It’s more accurate to say that when I cloned it and followed the instructions, I was unable to build it.
I think that there might be 2 different versions of the build instructions. The documentation could definitely be better. I feel like when I tried to build it I had problems and then I found a different source of documentation which was actually correct.
GSender is a cool project, but it has also won’t work with the S5Pro. I also prefer a web-based software that I can use from my office, then just go out to the workshop and press “play”. It looks like Gsender is mostly a thick client.
If you want to use GSender with the S5Pro, you can make the same changes I made to CNCJS, here:
C3D has been great about sharing the open-source grbl controller code. It’s just not where the problem is. I think it’s in the esp32 code that manages the USB controller. That code isn’t open source.
I considered fixing it in the ESP32, but figured it would be much easier to just patch cncjs for now.
If you did want to void your warranty and fix it in the esp32, you would just need to use esptools to extract the firmware, load it into ghidra, find out why it’s barfing on an open-paren, fix it, recompile, and flash back to the esp32.
It’s not complicated, but with a patched cncjs it’s just not necessary.