Here is my Taig Mill controller built with gShield + Arduino Due + Raspberry

Here is my Taig Mill controller built with gShield + Arduino Due + Raspberry Pi Zero W + Crystalfontz LCD + Meanwell PS. It runs my mill 2x faster than its original Mach3 parallel port controller. I was planning to use it with Chilipeppr, but I am switching over to CNCjs because I was having too many problems with CP.

1 Like

Since you mention DUE+Gshield, I’ll assume G2core, likely $fb=100.26 or later. Study the README carefully at https://github.com/synthetos/g2#g2core---edge-branch.
The default settings for $ej parameter and stickyness make communicating via console somewhat different than with past builds (and tinyG). I have experienced side effects with both CP and CNCjs and suspect that nuances in the linemode protocol implementation are likely involved.
In my limited experience, if you open CP or cncjs, drag in a Gcode file and press go things work OK.
Manually interacting with G2core via the console or with some of the screen widgets can get weird.
Nice Build.
When you get a chance, describe what the role of the RPizero and LCD are
https://github.com/synthetos/g2#g2core---edge-branch

Answering the last, and easiest, question first:

The Pi runs the CNCjs server app (or spjs but more on that later). I connect to it over WiFi with a PC in an other building (same network), a tablet near the mill, and my iPhone as needed.

The LCD currently reports the overall system state - booting, on-the-air w/ IP address, app started. I could have done that with a few LEDs - apart from the IP address report - but I had that LCD left over from an ancient project and “what the heck” ensued. I hacked spjs to report incoming connections and serial port connection status on the LCD - very useful given all the ways that connections can drop and browsers crash. I haven’t done the same yet for CNCjs but my CNCjs development fu is approaching the point where I should be able to do it soon. I have a back burner plan to use the LCD keypad for something - probably EStop and maybe simple jogging for getting the spindle out of the way to do fixture setup or maintenance.

Now, onto the original topic…

Indeed, I’m using g2core w/ $fb=100.26, $ej=1. The only mod is a settings file for the Taig Mill.

So far CNCjs has been working well for me, both running gcode and with manual interaction. CNCjs had a problem with DRO in inch mode, but I filed an issue and submitted a patch, and both were resolved the next day. The maintainer’s responsiveness leads me to believe that, as I find problems, they will be resolved quickly, and my own contributions will receive appropriate consideration.

CP has a fork problem. The mainline CP does not handle g2core well at all. The jpadie fork handles it better, but it is unclear when that will be merged into mainline. Another old fork supposedly handles tablets better, but it is stale and merging it with new development looks to be impractical. I submitted a carefully-crafted patch to handle arc-IJK-absolute mode in the gcode parser, which jpadie picked up but was unable to merge back into mainline due to unrelated webgl version changes. I recrafted my patch into a proper pull request onto mainline, but that has languished for some reason. My conclusion is that the CP oversight process is not currently up to the very demanding task of handling the version churn in related components.

I should mention that my manual interaction has been via typing json. I have not tried to use text mode or auto mode, as that seemed like a recipe for confusion in the software stack.