Help: Job is "pausing" after 30min

I’m running a 2.8w Jtech diode laser on my Shapeoko 3 XL (SO3) running on the OEM GRBL board (2.4e), GRBL 1.1 firmware, and LightBurn 0.9.15 on Windows 10.

I don’t have much seat time with my laser as I tend to use my CNC router more; however, I’ve come across an issue that I haven’t encountered before. I’m currently endeavoring to laser engrave a test photo, but at approximately the 30min mark, the laser stops. The software is still open; run time clock running; SO3 is still connected to the software; Console window doesn’t show any errors or messages - just shows the last gcode line (i.e. G1X-0.024S0); and if I depress “Pause” then “Resume”, the laser will actually resume but only for a short random duration (a line or a few). Cycling “Pause” then “Resume” no longer works to get the job going if done in quick succession.


  • Changes that I’ve recently made… switched to a VFD powered spindle setup (relocated the laser’s PWM and GND wires) and updated to LightBurn 0.9.15.
    *Tested moving the PWM and GND source back to the location I had it before, and removed the spindle from PWM and GND wires from the board - no change.
  • Looking into my Power Options; I’ve been on a custom plan that doesn’t put my computer to sleep or allow USB selective suspension. I’ve experienced a USB related issue while CNC milling, but haven’t since I had changed my computer’s power plan over a year ago.
  • I tried staying on my computer while the laser was running to keep everything “awake” - no change.
  • Isolated and placed the laser power and SO3 power on separate power sources.
  • Laser the photo with a different scan angle to see if there was something inherent in the photo - engraved different portion but still stopped ~30min in.
  • Tried engraving faster - it does get further but still stops ~30 min in.
  • Cut settings are 125in/min, 100% power, .008in line interval, 125DPI, Scan Angle: 0deg, Image Mode: Jarvis, Number of Passes: 1, and preview estimates a total time of 1:05:19.
  • GRBL settings:
$0=10 $1=255 $2=0 $3=2 $4=0 $5=0 $6=0 $10=0 $11=0.020 $12=0.010 $13=0 $20=0 $21=0 $22=1 $23=0 $24=100.000 $25=2000.000 $26=25 $27=3.000 $30=1000 $31=0 $32=1 $100=40.000 $101=40.000 $102=320.000 $110=10000.000 $111=10000.000 $112=1300.000 $120=500.000 $121=500.000 $122=100.000 $130=845.000 $131=850.000 $132=150.000 I attempted to be descriptive, but let me know if there's any other information that would be helpful to add. It seems like there's something that correlates to time. I'd be grateful for any help!

search for usb time out in the forum.

it’s a common problem for windows.


Hi @Bonjour thanks for the link and replying. In my second bullet point, I was alluding to already having disabled the USB Selective Suspend Setting (I double checked when I found that link in my search prior to posting). My power plan computer settings haven’t changed since I had USB issues nearly a year ago; and I haven’t experienced this issue running my CNC router (same computer/USB cable), recently.

Doh. I’m an assuming idjit.

I’ll update this with some further Qs when I get to the office

Haha no worries; I’ll comb through more USB threads to see if there’s anything else I might have missed.

Last night when I was running the test photo to see if the console displayed any messages when the burn stops/pauses, it made it to 41 minutes. I’m going to move my wires around in case it’s a new EMI issue.

The main difference between running the CNC and laser is speed of commands - your laser will be faster and expect to issue more commands/min than CNC engraving and cutting.

The fact that you could get a resume after it stalled may indicate that there was room in the buffer, and you refilled it.

Are you monitoring the comms? What speed are the comms? I don’t know what the OEM grbl board is - do you know which microcontroller is on the board?

As an example, I have a home-built CNC router that uses a TinyG, which has an ATxMega192 vs the 328P microcontroller I suspect the SO3 uses. It works great on the CNC, but when I nicked it to use on my home-made diode laser, I flooded it all the time and it stalled often. Changing the board to a 32-bit one running Smoothieware got rid of all those problems - and I do almost no engraving on diode - it was all vector cuts, paper and paper transfer tape, rather than cutting ply or engraving in acrylic. TinyG doesn’t run GRBL, although it can decode GRBL, and it uses JSON for control and response. This is more efficient as well as the tool paths being more efficient as it uses a more advanced look-ahead and cut-planning algorithm, with advanced motion planning, better than GRBL can do.

I suspect you are hitting the limit of what that controller can do.

I would use whatever comms monitor you have available to you and watch the responses - you may need to turn off ‘OK’ filtering, if you don’t see any acknowledgements.

If you have access to another, more powerful, controller or microcontroller (like a Cortex-M3-based controller) you can shoe-horn in, I suspect your problems would go away.

Running an Arduino Due or other 32-bit controller, running G2Core, instead of GRBL (or even better, an LP1769-based solution running Smoothieware) would be the best option. Under $100 and you have a much better setup, with ethernet, with screen, control keys, etc. and are unlikely to flood it with the kinds of speeds you see on a diode.

Hmm… this is all very interesting and new to me, but I’m happy to be experiencing growing pains for learning.

I just checked, and the microcontroller is, as you guessed, an ATMega328P. I have to look into how to monitor comms, I’ll do a search on the subject, but I’m also open to suggestions. I will look into “shoe horning” and utilizing other controllers. I really appreciate the advice - thank you!

In the mean time, I’m going to try running a less complex engraving than a photo to see if that even works past 40min.

You can monitor things in the console (View> Console, then a tab in the panel.). I don’t have a functioning grbl/smoothie/tiny device to test, sorry. It’s going to be in the docs, or in the forum.

Screen Shot 2020-07-30 at 10.54.58 PM Screen Shot 2020-07-30 at 10.54.49 PM

“Show all” is probably the key to seeing the [OK] messages.

Oh ok so I do have the console tiled in the right-hand side window of LightBurn while I run jobs; I also enable “Show all” to see the lines of code displayed in real time. With my untrained eyes, things seem to be going well up to the point where they aren’t. At the moment of stop/pause, there are no error messages or alerts, simply the last line of code that it completed?

Do you have heat sinks fitted to the board?

I wonder if slowing the comms down might help throttle it a bit? What speed are you using?

The board doesn’t have heat sinks on the board; however, the board is mounted to an aluminum plate and an aluminum extrusion, by design for heat dissipation. I thought about potential for overheating since that could correlate to time. I’m going to examine my axis for over tightening of V-wheels that might make the servo motors work harder too - the motors are warm to the touch when the laser stops/pauses.

If the stepper is not too hot to comfortably touch (50-75C) it’s in spec, tempwise

From memory, the SO cnc boards used to have a fan. I would try that. Even a house fan or reverse vacuum cleaner pointed at the controller. Good boards are heat sink on the base, to use the bigger ground plane - you can finger it when it’s working and see

I meant comms speed, not motion control

Ok I’ll give the fan a go too when I get home. I’ll measure the actual temps when I get a chance.

Forgive my ignorance, what am I looking for in the Console window that indicates comms speed?

The console doesn’t give you comms speed. Hang in, just got up - I’ll dig it out. Never was a grbl guy.

you can change the GRBL baudrate in config.h by modifying the value for BAUD_RATE.

It will probably currently be set at 115k.

That requires the user to be familiar with compiling the firmware from the source code, which most end users are not comfortable with unfortunately. It is too bad that the baudrate can not be set with a $$ setting.

Did you ask ‘the user’ what his comfort level was, or did you just need to meet your Debbie Downer quota for the day?

Thank you to both of you. I appreciate the concern and any and all help that people are willing to spend their precious time on.

Getting into the electronics and software side of things is new to me. I graduated college with a BS in Mech Eng., and in my work life, I work in injection molding as more of a setup/injection molding machine tech & manufacturing/process development engineer. As a hobbyist, I come from tinkering with cars and wood working. I’m comfortable with digging my heels in and rolling up my sleeves; and in this case, i’m willing to do what I need to learning from essentially ground zero. Thanks, again!

Bare with me while I’m endeavoring to look all of this stuff up. I also have a couple of side projects with deadlines to take care of so I’m unsure if I’m going to be able to get to laser trouble shooting until Sunday perhaps.