Feedback from LinuxCNC users, LB gcode and workflow

I’m on a path to change my CNC controller from grbl to linuxCNC soon. Before I fully commit to the task, I’m looking for feedback from those already using LB (or MillMage) and linuxCNC.

Since LB V2+ is no longer running on linux, I suspect those users are in the same workflow boat as I will be: LB on Windows, save gcode to file, transfer to linux, open file w linuxCNC, run.
Please comment on this workflow; First of all, do I have it correct ?

I’m just now conducting some simulation testing with linuxCNC in a VM (no physical machine connection yet). Once I get some familiarity with linuxCNC, and get the Windows to linux connection and workflow wrung out, I’ll build my headless miniPC with linuxCNC and wire up the hardware side of the controller.

I’m using a miniPC with dual ethernet ports, one for the controller hardware interface and one for a local wired network to my Windows laptop, at the CNC console in the shop.

  • my CNC conducts laser, plasma, and milling processes. All CAD and CAM are Win apps.
  • most CAD work is done in the office on a business laptop, work is stored on a shared google drive giving access to a Win laptop in the shop that will vnc w GUI to linux at the CNC console.
  • The shop Win laptop has the same CAD sw as the office, so I can easily iterate on project design at the CNC if needed. Plus is has the CAM sw, and is direct wired network to the headless linux miniPC.
  • I’m running X11vnc for GUI with a Win vnc client.
  • using FileZilla to ftp gcode files from Win to linux. Q: can LB launch a .bat file after gcode save?, then could possibly automate the ftp to linux, but Fz is pretty easy also, drag and drop.
  • right now I’m not planning to have internet connection to the linux miniPC, the Win laptop in the shop will have it though. Thus I won’t be using the google drive on the miniPC, else that would also give me the file access solution.

I have just run a few simple shape LB gcode simulations on linuxCNC (VM) and all seems to run fine and error free, using the LinuxCNC LB device type, stock, no modified gcode templates. That’s huge verification step!
I’ve also verified the vnc client GUI operation, watching especially for latency between keyboard jogging and linuxCNC table simulation seems non-existent. Latency with the physical machine may be a different story, we’ll see soon, I’m a couple of weeks away from hooking up the hardware side of the controller. Using CandCNC controller. They have a custom build of linuxCNC they name CommandCNC.

That’s it for sw, logistics, and workflow. Anyone already doing this or similar, please comment. Thanks.

one snag that I just noticed… after Opening the LB gcode file in CommandCNC (the linuxCNC custom build), I don’t see the toolpath in the Live View window. However, the toolpath is shown when Opening a plasma gcode job from sheetcam and CommandCNC’s post processor.

Cross linking to my question about this in the CommandCNC forum- https://www.candcnc.com/supportforum/viewtopic.php?f=24&t=3477 note: there is some delay in this link becoming publicly available, was my first post on their forum so it needs review and approval. The gcode files are posted in the linked thread.

question for LB staff, perhaps @adammhaile , does linuxCNC have an equivalent laser mode behavior as glbl laser mode $32=1 and M04 and speed variable laser power ?

I’m not asking if the config setting $32=1 exists, those config registers don’t map to linuxCNC, they have their own dialogue for configuration. Rather, I’m asking if the grbl laser mode behavior as described here - Grbl v1.1 Laser Mode · gnea/grbl Wiki · GitHub, exists in some configuration of linuxCNC when used on CNC laser process machines ? The specific mode I’d like to use is the laser mode when variable spindle power is in play, as when grbl M04 spindle enable is used with S variable spindle power.

From what I can glean from the linuxCNC doc, the M67 E0 Q0.n (where 0.n is laser power, 1.0=100%) that LB is using does not behave as M04 Sn, rather it behaves as M03 Sn. Is that correct based on LB testing with linuxCNC ?

You may have more luck in the LinuxCNC forum for those specifics.

@JoeSpanier you should have more insight than I here.

Hey Lou -

LinuxCNC works great with MillMage. A handful of us, including myself, have been using LinuxCNC since 2010.

FTP is a fine file transfer system, but we have no way to launch a .bat file. Most of us use it to have a NAS setup with a shared folder mapped on both computers using something like SAMBA.

I strongly recommend against using VNC to control your computer. A network blip means you have lost control of your machine. Monitors are cheap :smiley: I personally have had a pretty serious crash from an issue like this. Granted if you have a wired e-Stop at the machine, like you should, it’s a little safer.

There is no such thing as laser mode in LinuxCNC that I know of. I know 2.9 just got another feature release, but I haven’t kept up with those features. The guys at the LinuxCNC forum are incredible and can answer your questions about specific LinuxCNC issues. I can tell you that raster image engraving performance suffers in LinuxCNC. It does not handle dithered images well. Vectors will work great, though, and it makes an excellent laser CUTTER firmware.

1 Like

@JoeSpanier , thanks for the tips and detail answers to my questions.

I have a pending question into CommandCNC support desk on the topic of laser mode assimilating grbl laser mode w M04 S variable power behavior. I’m in trials now with their version/build of LinuxCNC. I do a lot of raster projects with my quad diode laser, and LB’s offset scanning table is incredible with grbl laser mode variable power, I’m going to miss that. Although in theory, rastering to a constant depth (one power setting) should work just as well with M03 S. I will run some tests today with grbl non-laser mode ($32=0) and M03 S constant power but still using LB offset scanning, I hope to be pleasantly surprised with same or similar results. I don’t do any dithered projects where can see variable power making a huge difference. Is there greater latency in changing the power level with M67 E0 Q0.n ? than just throwing an S word on a motion block ?

re. VNC- I agree with you and others that caution this config, I’m just trying to keep the console footprint less cluttered than having two KMV setups. I must have my Windows laptop there or nearby for CAD/CAM iterations. I was hoping to config a peer to peer network over Ethernet to mitigate latency and dropped GUI risk.

re. shared folder or drive- I suspect I’ll evolve to that, especially given the peer to peer network being in place. I hear some troublesome stories (in my consulting role w sheetcam) though on complications with file managers for these purposes. The ftp method just seems bullet proof.

You do not want to control your laser power with M3 Sx. M3 sx breaks the read ahead flow and causes the g-code to break blending. The machine will come to a full stop at every M3 call.

This is why M67 is called “synchronized”. It will allow motion to continue while it gets set.

I have never had issues setting up a samba share in Debian or Ubuntu, though YMMV.

Joe, good point, thanks. I need to run the LB test with $32=1 (laser mode) and use LB device type GRBL-M3. I forgot about those details. :wink: Then do you agree this gcode on grbl should assimilate linuxCNC M67 E0 Q0.n raster scanning ? I’m just trying to get a sense of what such raster scanning results this will yield if similar behavior as linuxCNC.

The case of not seeing the LinuxCNC gcode generated toolpath in the CommandCNC Live View window has been solved. It had to do with dialect differences between CommandCNC and LinuxCNC. CommandCNC is an ‘extension’ of LinuxCNC, a custom build so to speak, which is sold by www.CandCNC.com along with the dependent controller hardware and BOB I/O. The solution is explained in the candcnc forum link referenced above.

1 Like