Control of the X+Y worktable for galvo lasers

There are two big problems:

  1. LightBurn does not support a two-axis extension table for galvo scanners (this function is implemented in conjunction with EZCAD2 by the SplitMark2 plugin)
  2. Few controllers support the use of two axes simultaneously, which reduces the number of devices that can be used this way

Within the first problem, LightBurn has a solution for working with rotary devices, which is the first step in implementing a full-fledged single-axis table. In addition, LightBurn has long been able to control classic two-axis lasers.
But the second problem, unfortunately, makes it pointless to develop a TWO-axis machine for Galvo, because few will be able to use this function because most lasers are equipped with the cheapest control boards that do not support two X+Y axes.

Potentially, this problem can be solved even with just one axis - signals for X and Y control can be sent using the same output, you just need to split them into “portions” - separately for X and separately for Y.
OR
You can simply control another separate device (based on GRBL, MACH3, etc.) and make a software split: first a series of signals for the X axis, then a series of signals for the Y axis, because there is no need for diagonal movements on such a machine (the working area is divided into a grid of 2 * 4, 3 * 6 separate segments, to which the machine can be positioned, you need to send only a few coordinates - 2/4/8, depending on the settings and table size). Thus, all that is required from LightBurn is to make a micro API / console / record in a file of Gcode control commands (for example), which could be used by a third-party controller and would allow moving the desktop in the desired direction. And, of course, it is necessary to solve the problem with the correct movement of the laser machine taking into account the error and the selected processing segment, as SplitMark2 does, because galvo lasers do not work with a point, but with entire areas (70 * 70 mm, 110 * 110 mm, etc.)

In the simplest form, I see it like this: LightBurn generates control commands for an additional USB controller, the controller reads them from the buffer / file / API channel or receives them directly via USB, the desktop moves in the form specified by the command (which has long been supported by LightBurn), engraving occurs, then LightBurn sends the next batch of commands to move the table to position “2”, to a new place, and engraving is performed again, after which the movement to position “3” is carried out.

Perhaps this is too ambitious for the LightBurn team, but it would be a truly unique offer on the market - a controller that can solve this problem on its own would cost at least $500-700 (just because of the extra axis, I’ll have to buy it for work), while the quality of the EZCAD2 software that I’ll have to work with is unlikely to satisfy anyone. A controller for EZCAD3 would cost more than $1200. And that’s without taking into account the mechanical components. If you follow the described approach, it is enough to buy or use an existing two-axis machine (I know that almost everyone has a machine that they started with :slight_smile: ) on MACH3/GRBL ENTIRELY for $ 100 and get a function that only expensive devices can boast of

Perhaps someone already has such developments - then I would be glad to learn more about them. As far as I can tell, Albroswift is a user in this area – it would be nice if he has something to say about it

Here I saw a note on this matter, but the discussion is already closed:

1 Like

These machines don’t use grbl.

I understand EZCad3 boards have an encryption mode they run in, so that has to be reverse engineered before they can even look further.

If you’re advocating Lightburn in some kind of hack to use two control boards, I doubt that’s going to fly either… you end up with unique hardware between user models.

:smile_cat:

I don’t understand what kind of hack you’re talking about, the program just needs to control two devices in parallel: the JCZ controller and any controller that supports two axes - for example GRBL, both of which LightBurn already supports. All that’s left is to coordinate the internal infrastructure of the program

As for EZCAD version 3 - I mentioned it simply as an example of too expensive and unnecessary equipment for implementing the described task. In general, EZCAD2+splitmark2 already know how to work with two axes

The uniqueness of the solution in this case is that a galvo laser with the cheapest JCZ controller (or even a copy) for $150 + a GRBL controller for $10 will allow you to work in modes that are only available on much more expensive equipment configurations ($500+)

Running two controllers.


The true issues is usually Lightburn has no information about the controller or any existing codes/control values that are available to be used. The Chinese won’t tell them.

This has been asked about, I’d think if it was an easy implementation, it would have been handled by now.

:smile_cat:

A Texas laser company makes/sells a galvo/ gantry laser, spendy though. Similar concept.

Maybe the problem is that English is not my native language, but I still don’t understand what the JCZ controller signals are for. If LightBurn can already control the galvo laser task and can already control GRBL, then why can’t it control JCZ + GRBL in parallel? Maybe it will be clearer if I describe the general scheme:

  1. The layout of the task is prepared in the LightBurn program, which is obviously larger than the working area of ​​the galvo laser (for example, a 200 * 200 mm layout when using a 110 * 100 mm working area / lens)
  2. The LightBurn program divides the large 200 * 200 layout into smaller segments, for example, 4 blocks of 100 * 100 mm
  3. LightBurn, using the GRBL controller, moves the table to position 1
  4. Standard engraving is performed within the 110 * 110 mm working area by sending the task to the JCZ controller
  5. After completing the engraving of segment 1, LightBurn, using the GRBL controller, moves the table to position 2
  6. Engraving of the next segment is performed
  7. […]

Yes, there is a problem with alignment and nonlinear distortion of the working area (strong distortions closer to the periphery of the working area), there are difficulties with the correct division of the image into segments, but all of this is algorithmic and in general the entire base for this has long been in LightBurn

This is the problem - in essence, to implement this task, no complex electronics or significant power are required, there is simply a task of coordinating the existing capabilities of LightBurn.
In principle, this problem has long been solved on Chinese software, I think this happened at least 10-15 years ago (when the SplitMark2 plugin was released)
The main problem would be the algorithmization of image division and distortion compensation (using SplitMark2, for example, I select segments much smaller than the working area - 25-40%, to avoid distortion). But this is already a much less significant problem, if there is some kind of software base

I think the issue is LB doesn’t really “Control” the laser, it sends instructions to the controller. After that LB doesn’t get any feedback as to how the controller is executing the commands or where in the string of commands it is. It knows when the buffer is full, when it is done sending instructions, and it does know when the laser is done and back to ready state.
In your example above the artwork would need to be split and stacked on 4 different layer sets on top of each other, or moved simultaneous with the table move. Otherwise you are just doing repeat marking. (Which LB handles very well). Maybe we should start with repeat marking plus something like variable text with but with image segments.

It seems to me that the controller gives some feedback about the completion of the task, otherwise how would the program even know that the task is completed, how could it repeat, much less endlessly repeat the sent task, move on to tracing after the task is completed? Feedback in the form of the completion of the engraving comes - that’s enough.
In any case, the described idea comes down to performing a series of separate (segment) engraving tasks, with the execution of simple X+Y positioning commands between these tasks


I repeat: I am not interested in smooth movement on the X*Y table right during the execution of the JCZ command (that would be too much). We are talking only about episodic movements between segments (in my example, this is only 5 movements and five lines of Gcode: moving to the starting point from any position, moving to the 2-3-4 segment and returning to the starting point)

You’ll have to wait for someone from Lightburn to answer this to your satisfaction. None of us participating in this discussion knows the intimate details of how Lightburn actually work internally. You are making many assumptions about how Lightburn functions internally, true or not.

This is also not standard hardware/controller, as anyone can hook this hardware up, meaning it’s non-standard and would require configuration. This leads me to referring to it as a hack, not to be offensive, but it’s to solve a specific issue that only a few people have.

Hopefully one of the development people will sound off about this and clear the air.

At the top right is feature suggestions that you can post and let us vote on it… maybe you should post your idea there and see how many people are interested.

Good luck

:smile_cat:

I’m not sure what assumptions you’re talking about - I was just describing the concept. It involves using LightBurn’s existing capabilities. Of course, none of us can know what it all looks like “under the hood”, but I’m not a developer to worry about that, I’m an ordinary user who lacks some of the program’s capabilities
But you’re right about one thing - there’s little point in wasted discussion here

Hang in there and see if one of the developers will reply as to what is possible and what isn’t.

I still suggest you post in the feature suggestions, maybe you’ll get a better/quicker answer.

:smile_cat:

Wasn’t wasted on me. Post a feature suggestion I’ll vote on it.

Ok, I did that
I just wanted to discuss some general details before pestering the developers, in case other users already have some projects and working solutions, but the whole discussion boils down to “we don’t know how LightBurn works” and “it’s better to ask the developers”
Maybe that’s really the only way

Controlling additional X+Y axes for a galvo laser with an external controller (GRBL, MACH3, etc.)

I believe that is already in the oven.

It seems like this is some kind of private page - I can’t view this link

Sorry posted an old thread.
Updated with the correct one.

Yes, I saw this topic, but there is little information, including how it will be implemented. If we are talking about “simple” control of the JCZ controller with support for two X+Y axes like the JCZ LMCV4 - this is unlikely to be a popular option, because such controllers are quite few and expensive. This is one of the basic problems