Moving Point to point and firing on each point

Hey all.
I’ll tell ya if there is a way to try to use software as it wasn’t intended, I’ll find it. What I’m trying to do is move the laser head to pre-determined point locations and fire the laser for a specified duration.
I was doing some work on my X7 Pro with the 4-Diode laser head upgrade (M100?). There is a button on the daughter board that says “test” and it will fire the laser when pressed. I had a piece of 3/4" pine under the laser and the test fire punched a hole straight through it, cleanly. The hole was darn near the same size on both sides.
This got me thinking about making a table top with tiny holes burned thorough it that I could thread a bit of fiber optic fiber through the hole to make constellations in the table top.
I think this would require:

  1. Lightburn recognizing “points”
  2. Lightburn maybe having a “point” button.
  3. Being able to move from point to point as a “rapid” (or set movement speed). I would think a simple x,y move to location.
  4. Firing on said point for a prescribed amount of time (Dwell in decimal seconds)

I know about “DOT MODE”, I suppose this would be a sort of free form version of that. Where I can input point data as a dxf and move dot to dot and firing with a dwell time.

Is this something that could be added to Lightburn?

How about representing each “point” as a teeny circle?

Depending on how tight the hardware is, the laser head might not move at all when commanded to go around a 0.01 mm circle. If that’s the case, then “just” tune the speed & power to make the hole come out right.

Stipulated: nothing is difficult for the guy who doesn’t have to do it. :grin:

1 Like

The burn isn’t as clean when it’s a teeny circle. When I fired that “test” button that laser went through 3/4" of pine before I could let go of the button.

I made a drawing in Solidworks with points, I dxf’ed the file out and the points didn’t seem to read into Lightburn.

IIUC, G-Code controllers don’t have the Dot Mode available for Ruida controllers, so that’s not an option on an Atomstack. An earlier discussion may provide some leads:

If that doesn’t get you where you want to go, then this probably isn’t the answer you’re looking for, either: the problem is simple enough you could do it on hard mode. Hand-coded G-Code program were a thing, back in the day: just tell the laser what you want it to do in G-Code and cut LightBurn out of the process. :slightly_smiling_face:

Nowadays, though, I’d use GCMC to write the program in a comprehensible C-oid language that compiles down to G-Code.

You’d need an auxiliary program (in your favorite real language) to read a file with the point coordinates and convert them into an array / vector / list to include in the GCMC program, because you definitely don’t want to type more than a few coordinates for testing. With that in hand, GCMC lets you do the same thing (move-to, fire, dwell) for each array entry, so it’d be a trivial couple of lines in addition to a ton of constant data.

GCMC is, admittedly, an acquired taste, but you can do some neat things with it:

On a GRBL controller you should be able to move to and XY location. All the program should need to do is implement an interface to do that and fire the laser at it’s location (which you can do), you just need to be able to control the fire time.