MPCNC Primo with SKR Pro 1.2 and Lightburn connectivity issues

I just finished building a MPCNC Primo with Dual End Stops and I’m trying to get Lightburn to work with it.

Here’s the deets of the build:

  1. SKR Pro 1.2 with with 2209 drivers flashed with the corresponding V1 firmware. Board sourced from Aliexpress.
  2. Shouldn’t matter but a TFT35 V3.0.1. (knob to the left not below)
  3. I have the laser connected using the 2-2’s into a 3 method as such:
    image

If I set the machine up manually in Lightburn as Marlin controller it will say “ready” but I have no control over anything in the move tab. This is what the console says:

If a do a “find my laser” in the devices tab I get this:

Just to see what would happen, I added this device. It’ll move the axes (in an odd stepping way) but no laser control.

If I don’t connect the laptop and try to take the Lightburn .gcode to the controller on a thumbdrive and send it from the BTT Menu where I can watch what its doing I find that it’s exciting the Fan0 output in the areas it’s supposed to lighting the laser. But the axes are moving correctly. I’m tempted to take the laser output from PC9 and move it to PC8.

Or should I maybe reflash the firmware?

I really want to use Lightburn because I love the “framing option” and move option for placement purposes.

I don’t use Lightburn to drive my Primo, but I did test driving my Primo directly from Lightburn (as part of helping someone on the forum troubleshoot), and it worked fine for me. As for this:

I find that it’s exciting the Fan0

You need to make a setting change in Lightburn. In Device Settings, you need to set the commands to inline:

image

On some displays, this setting is hidden. You need to drag the corner of the dialog to make it bigger to expose this setting.

As for your other issue, if you haven’t already, I’d delete all devices and start over.

I’ve deleted the device about 20 times and manually readded it enabling “inline”.

Do I need any start GCode commands?

I also found a post where someone said that they only got results after going up 500k baud rate. I tried that as well with no luck. I’m going to follow Tuco’s advice on this thread How To: Modify Marlin to control laser to SKR Pro. I’m going to try to recompile the firmware disabling the PWM pin check.

I know I sound like a broken record but thank you again Robert!

If you are running unmodified V1 firmware, you shouldn’t have to make any changes. My laptop is tied up driving something else at the moment, but when it is free, I’ll try driving my Primo directly and see what happens. If it works, I’ll post the device screenshots. I have a Rambo board, not an SKR Pro board, on my Primo, so it won’t be a apples-to-apples test. The baud rate should be 250,000. This is set in the Marlin firmware.

If you drive the laser from a SD card (and inline enabled), does it work for you? No start g-code commands are required for me. I do have some start code, but it add “feature,” and is nothing something needed.

No, it runs thru motion part of the code properly but doesn’t bring the laser on.

Does anything bring the laser on? What happens if you send the following g-code to your machine?

M42 PC9 S1

If your laser is not coming on, have you put a voltmeter on the pin and tested it using an M42. If you send M42 PC9 S255, you should read around 3.3V from the pin. Also, I’ll take a quick look at the g-code to make sure it looks okay if you like.

Update:

No fire with “Inline” but M03/M05 does work and excites the laser! I’m running test patterns as we speak.

image

When I tried M42 PC9 S1 I had no luck earlier.

I will try it again later.

I mean I feel a little relief that I can now get burns started, but I’m going to keep trying to get Lightburn working. Image placement won’t be nearly as accurate if I can’t pan around the machine and fire the laser like I can in Lightburn.

If you don’t mind me asking if you don’t use Lightburn how do you get your images exactly where you want them? (Bear in mind, my background is with a little Sculpfun S9 and Lightburn.

Oh, &!$@. I think I know what is going on. I’ve mentioned it so many times on the forum that it didn’t even occur to me. You do need something in the start code. For the latest version of Marlin, you need to put the following at the top of the file to enable inline g-code processing.

M03 I

I’m sorry I did not catch this sooner. The lack of this line of g-code explains why M03 works, but inline code does not.

3 Likes

You nailed it!

It definitely burns nicer with inline commands. I think it was you that had mentioned that once before. Why is that the case? Either way as always thank you!!

I’m going to keep trying to get direct wired Lightburn control to the unit so that I can get better image placement but in the meantime it’s working with a thumbdrive!

As for why inline commands work better, I have a guess, and it is only a guess. With inline commands, I believe Marlin is scaling the power based on actual federate. For example, as the CNC reaches a corner in the job and therefore has to change direction, the CNC slows, turns, and then accelerates again. I believe the power of the laser is moderated as the CNC slows and then increases again as it accelerates after the turn. What I don’t know is why Marlin would not have this behavior for M3 commands.

I’m sorry again I did not think of the ‘M3 I’ before, but I’m glad you got it up and running.

No need to apologize, I never would’ve made it this far if it wasn’t for your help!

I found a possible solution for my “Waiting for Connection” on the Lightburn forum. I’m going to try at lunch today.

I found an answer to my “Waiting for Connection” problem on Lightburn’s support forum. It has something to do with installing Repetier Host first. If I launch Repetier Host and hit connect and then quit the app and launch Lightburn then Voila connects just fine!! Here’s a link to the thread that set me on the right path Waiting for Connection Marlin