Hard limit triggered when returning home - xTool D1 Pro

Just set up a new xTool D1 Pro and am having trouble with limit switches triggering when returning home after finishing a job. Here’s what I’ve done so far.

  1. I went through the Lightburn setup guide here:

1.a. I imported this xTool-D1ProV3.lbdev linked in the article:

https://xtool.zendesk.com/hc/article_attachments/16526191852823

  1. Confirmed in XCS that I have the latest firmware.

  2. I set up a basic project in Lightburn and tried to run it.

Here is a video of the limit switches triggering when returning home:

Job Run Video

Here is the console output from that job run:

�ok
ok
ok
[xTool D1Pro:ver 40.31.006.01 B2]
Homing
ok
start_home x
left limit trigged
start_home y
up limit trigged
<MPos:0.000000,0.000000,0.000000>
M28
M2001 0.0.0.0
Starting stream
Stream completed in 0:00
ok
[MSG:Pgm End]
<MPos:95.730000,60.730000,0.000000,0.000000>
ok
ok
Starting stream
Layer Border
Stream completed in 0:00
M8 N4
err:limitCheck
ALARM:1
Hard limit triggered. Machine position is likely lost due to sudden and immediate halt. Re-homing is highly recommended.
ok
[MSG:Pgm End]
ok
[MSG:Pgm End]
[MSG:Pgm End]
<MPos:0.000000,100.000000,0.000000,0.000000>
ok
[MSG:Pgm End]
M314 N2
ok
[MSG:Pgm End]

Here are some of my settings:


I’ve seen other articles mentioning adjustments to working area, X/Y max travel, etc. but I haven’t changed any of that yet, besides what is configured by the .lbdev file.

Is there a setting that I’m missing somewhere? How can I get my limit switches to behave correctly?

Thanks in advance for any help from the community here. I’m pretty stuck and you can only get one reply per day from xTool support. :disappointed:

Can you type in $$ in console and post results?

Thanks. Yes here is the output from that command.

$$
$0=1
$1=0.03
$2=0
$3=0
$4=0
$5=0
$6=0
$10=255
$11=0.0
$12=0.0
$13=0
$20=0
$21=1
$22=1
$23=0
$24=25.0
$25=3000.0
$26=250
$27=1.0
$30=1000
$31=0.1
$32=1
$100=100
$101=100
$102=0
$110=18000
$111=6000
$112=6000
$120=2500.000000
$121=300.000000
$122=300
$130=432.000
$131=406
$132=0
ok
ok

I would change $25 to around 800 and see if that helps.

I would bump this one up to 2.0 or even 3.0 to give you a little wiggle room. Rapid into the switch may cause it to overshoot the desired stopping point, thus actually activating the switch. A couple of mm less work area will make little difference.

Thanks for the advice here.

I’m trying to change the Machine Settings but they don’t seem to be retained at all. When I save them Lightburn confirms the change but when I re-open the Machine Settings the ones that I changed are reverted back to the original values.

After change:

After re-opening the window:

Is there another step needed to make the settings hold? Do I need to power cycle the machine/Lightburn or anything?

If you .clicked the OK button, they should have retained. Some vendors lock their controllers from accepting GRBL parameter changes.

Another way to try is by entering $27=3.000 in the Console window.

I tried:

$27=3.000

Then:

$$

But it still reports:

$27=1.000

It seems like we’re on the right track with the controller settings but I can’t seem to get them to take. I’m pretty new to this controller stuff so I’ll probably have to go back to xTool on this.

That was going to be my next suggestion. Good luck! I had a dialog with xTool about my RA2 rotary, and they were less than helpful.

I think you have to write them.

@Dskall is correct, you have the write them back to the controller.

I am confused, Lightburn should warn you that they are different and ask if you wish to write them… It does, at least on my Ruida, ask …


There are some machines that don’t allow you to write them or they reload the defaults when reset. I didn’t think the xTool did that… ?

:smile_cat:

Thanks for the pointers here. This is a video of what I’m doing in Lightburn to change the controller settings.

Update Controller Settings

It seems like Lightburn is taking them at first but isn’t retaining them.

I’m out of my depth troubleshooting this stuff so thanks again for all the pointers. I’ve updated my ticket with xTool and also pointed them to this thread so hopefully should have an update soon.

It is not storing your information. That would be a controller/firmware issue.

As far as Lightburn knows, the write was successful… that’s all they can do…

Sorry… I’d ask them about that… Someone here might have a similar machine and dealt with this …

Some machines won’t let you change these values. It also means there is probably some other issue as these are safe values.

Maybe @Skreelink has some knowledge that will help you here…

:smile_cat:

First, in XCS, disable the “Limit switch” option. This only disables the hard out of bounds limits, the machine still homes and runs as expected. Run a test afterwards. Also are you using absolute positioning? If you are not, then 0,0 might be past the physical home position and the machine cannot go that far.

Personally, I use the footer to return to 5,5 instead of 0,0 so when I rehome before the limit switches are not already triggered and is a lot more repeatable.

I disabled the limit switches and the job ran fine. It returned home without triggering the limit switches. I have been using User Origin for all of this testing.

Is there any harm in keeping the limit switches off? Does this risk any damage if I accidentally run the machine out of bounds?

I didn’t see where to set a specific return position like 5,5. It seems like that might be a workaround that would allow me to keep the limit switches on?

I turned them off when I got the machine and haven’t turned them back on. As far as specifying return position, you can either use the footer gcode with a G0 X5 Y5 or you an put it in the return position in the machine settings.

Screenshot 2023-10-29 105512

(don’t mind Y being 17 here, it’s because I have the IR module on and it sticks out a bit further, with my repeatable origin setup, I have a 17mm offset in my header gcode to compensate, thus if I tried 5, it’d be behind the limit switch)

Thanks for this. Setting the Return to Finish Position resolved this issue for me. I turned the limit switches back on and they aren’t being triggered when returning home. I’m not sure what tradeoff I would be making by keeping them off?

I found a couple of videos about this issue. It seems like this may be a somewhat “known” issue. I wonder if this something xTool should distribute with their .lbedv file, or point out in the original Lightburn setup guide.

Setting the “return to” location in lightburn

“Did Ya Know?” How to use LightBurn’s Return to Finish Position before starting a job with xTool.

Keeping them on actually slightly reduces your available engrave area. Basically if you’re close to maxing out your engrave area, if you just so happen to get close enough to trigger the limit switch, it’ll hard stop. Whereas you might physically still have the room. Something like another 10mm where the arm can move within the limit switch sensor.

Interesting. I think I’ve seen this happen before. If I remember correctly the limits were not triggered during framing but they were during engrave, when the module got close to the rails but still seemed to have room. I’ll have to re-test that but I think that’s how it happened.

Thanks for everyone’s help on this.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.