Limit switch error (X Y Z)

Following this link, still trying to get my Nomad 883 Pro to work.

I upgraded to GRBL v1.1 using these instructions: https://docs.carbide3d.com/support/carbideupdater/

I can connect to the machine, but when I try to update the settings, the settings page doesn’t have all the buttons like in the screenshot - I only have a ‘Send config data’ button, so can’t follow the instructions. Well, maybe it’s only for Shapeoko, although I got to this page from Reflashing Nomad 883.

When I go to the Jog page and hit the ‘continue’ button to begin homing cycle I get the following errors:

ERROR(1): Limit Switch Error (X Y Z)

And a second later:

ERROR(2): Homing cycle failed
ERROR(3): GRBL Error: Homing failed, pull off didn’t clear

I checked all 3 limit switched and they seem fine mechanically. Any suggestion on what to do next?
Thanks.

I had a similar problem with the Shapeoko recently and the problem was isolated to a faulty homing switch but it could have been the wiring from these switches to the controller.

If you haven’t, please contact us at support@carbide3d.com and we’ll do our best to work this out with you.

I am seeing the same issue with my nomad 883.
I had flashed it a few months ago and everything was fine. I reflashed it after seeing the same errors with no luck.
When I send $H or Home, the spindle goes down. Only the Z axis seems to move. It stops after a few centimeters.
All three limit switches function properly : I do get an ERROR Limit Switch Hit when I press one.

Here is my log when I hit the Send Config Data button.

(2659): -> $132=100
(2658): <- ok
(2657): -> $131=250
(2656): <- ok
(2655): -> $130=250
(2654): <- ok
(2653): -> $122=270
(2652): <- ok
(2651): -> $121=270
(2650): <- ok
(2649): -> $120=270
(2648): <- ok
(2647): -> $112=1270
(2646): <- ok
(2645): -> $111=2600
(2644): <- ok
(2643): -> $110=2600
(2642): <- ok
(2641): -> $102=200.0
(2640): <- ok
(2639): -> $101=200.0
(2638): <- ok
(2637): -> $100=200.0
(2636): <- ok
(2635): -> $32=0
(2634): <- ok
(2633): -> $31=2000
(2632): <- ok
(2631): -> $30=10000
(2630): <- ok
(2629): -> $27=5
(2628): <- ok
(2627): -> $26=25
(2626): <- ok
(2625): -> $25=1000
(2624): <- ok
(2623): -> $24=100
(2622): <- ok
(2621): -> $23=0
(2620): <- ok
(2619): -> $22=1
(2618): <- ok
(2617): -> $21=1
(2616): <- ok
(2615): -> $20=0
(2614): <- ok
(2613): -> $13=0
(2612): <- ok
(2611): -> $12=.01
(2610): <- ok
(2609): -> $11=.02
(2608): <- ok
(2607): -> $10=3
(2606): <- ok
(2605): -> $6=0
(2604): <- ok
(2603): -> $5=0
(2602): <- ok
(2601): -> $4=0
(2600): <- ok
(2599): -> $3=1
(2598): <- ok
(2597): -> $2=0
(2596): <- ok
(2595): -> $1=255
(2594): <- ok
(2593): -> $0=10
(2592): <- ok
(2591): -> $2=0
(2590): <- ok
(2589): -> $1=255
(2588): <- ok
(2587): -> $0=10

And when I home the machine

(5580): <- <Idle|MPos:0.000,0.000,-5.000|Bf:14,128|FS:0,0|Pn:Z>
(5579): <- <Idle|MPos:0.000,0.000,-5.000|Bf:14,128|FS:0,0|Pn:Z>
(5578): <- <Idle|MPos:0.000,0.000,-5.000|Bf:14,128|FS:0,0|Pn:Z>
(5577): <- ok
(5576): <- $132=100.000
(5575): <- $131=250.000
(5574): <- $130=250.000
(5573): <- $122=270.000
(5572): <- $121=270.000
(5571): <- $120=270.000
(5570): <- $112=1270.000
(5569): <- $111=2600.000
(5568): <- $110=2600.000
(5567): <- $102=200.000
(5566): <- $101=200.000
(5565): <- $100=200.000
(5564): <- $32=0
(5563): <- $31=2000
(5562): <- $30=10000
(5561): <- $27=5.000
(5560): <- $26=25
(5559): <- $25=1000.000
(5558): <- $24=100.000
(5557): <- $23=0
(5556): <- $22=1
(5555): <- $21=1
(5554): <- $20=0
(5553): <- $13=0
(5552): <- $12=0.010
(5551): <- $11=0.020
(5550): <- $10=3
(5549): <- $6=0
(5548): <- $5=0
(5547): <- $4=0
(5546): <- $3=1
(5545): <- $2=0
(5544): <- $1=255
(5543): <- $0=10
(5542): -> $$
(5541): -> gc_get_settings
(5540): <- <Idle|MPos:0.000,0.000,-5.000|Bf:14,128|FS:0,0|Pn:Z>
(5539): -> gc_sync
(5538): <- ok
(5537): -> M56P1
(5536): -> gc_probe
(5535): <- <Idle|MPos:0.000,0.000,-5.000|Bf:14,128|FS:0,0|Pn:Z|WCO:0.000,0.000,0.000>
(5534): -> gc_sync
(5533): <- ok
(5532): -> N0 G4P0.005
(5531): -> gc_wait_for_idle
(5530): <- ok
(5529): <- [PRB:0.000,0.000,0.000:0]
(5528): <- [TLO:0.000]
(5527): <- [G92:0.000,0.000,0.000]
(5526): <- [G30:-2.500,-5.000,-5.000]
(5525): <- [G28:0.000,0.000,0.000]
(5524): <- [G59:-124.830,-108.985,-124.770]
(5523): <- [G58:553.000,883.000,-105.050]
(5522): <- [G57:0.000,0.000,0.000]
(5521): <- [G56:0.000,0.000,0.000]
(5520): <- [G55:-183.260,-165.275,-78.545]
(5519): <- [G54:0.000,0.000,0.000]
(5518): -> $#
(5517): -> gc_get_offsets
(5516): <- ok
(5515): <- [GC:G0 G54 G17 G21 G90 G94 M5 M9 M56 T0 F0 S0]
(5514): -> $G
(5513): -> gc_parser_state
(5512): <- ok
(5511): -> G90
(5510): -> gc_not_motion
(5509): <- ok
(5508): -> G49
(5507): -> gc_not_motion
(5506): <- ok
(5505): -> G21
(5504): -> gc_not_motion
(5503): <- ok
(5502): -> G10L2P1X0Y0Z0
(5501): -> gc_not_motion
(5500): <- ok
(5499): -> G54
(5498): -> gc_not_motion
(5497): <- ok
(5496): -> G92.1
(5495): -> gc_not_motion
(5494): <- ok
(5493): -> M05
(5492): -> gc_spindle
(5491): <- ok
(5490): -> N0 G4P0.005
(5489): -> gc_wait_for_idle
(5488): <- <Idle|MPos:0.000,0.000,-5.000|Bf:14,128|FS:0,0|Pn:Z>
(5487): <- <Idle|MPos:0.000,0.000,-5.000|Bf:14,128|FS:0,0|Pn:Z>
(5486): -> gc_wait_for_status_updates
(5485): <- <Idle|MPos:0.000,0.000,-5.000|Bf:14,128|FS:0,0|Pn:Z|WCO:0.000,0.000,0.000>
(5484): -> gc_sync
(5483): <- ok
(5482): -> N0 G4P0.005
(5481): -> gc_wait_for_idle
(5480): <- ok
(5479): <- [GC:G0 G54 G17 G21 G90 G94 M5 M9 M56 T0 F0 S0]
(5478): -> $G
(5477): -> gc_parser_state
(5476): <- ok
(5475): <- [PRB:0.000,0.000,0.000:0]
(5474): <- [TLO:0.000]
(5473): <- [G92:0.000,0.000,0.000]
(5472): <- [G30:-2.500,-5.000,-5.000]
(5471): <- [G28:0.000,0.000,0.000]
(5470): <- [G59:-124.830,-108.985,-124.770]
(5469): <- [G58:553.000,883.000,-105.050]
(5468): <- [G57:0.000,0.000,0.000]
(5467): <- [G56:0.000,0.000,0.000]
(5466): <- [G55:-183.260,-165.275,-78.545]
(5465): <- [G54:0.000,0.000,0.000]
(5464): -> $#
(5463): -> gc_get_offsets
(5462): <- ok
(5461): <- [PRB:0.000,0.000,0.000:0]
(5460): <- [TLO:0.000]
(5459): <- [G92:0.000,0.000,0.000]
(5458): <- [G30:-2.500,-5.000,-5.000]
(5457): <- [G28:0.000,0.000,0.000]
(5456): <- [G59:-124.830,-108.985,-124.770]
(5455): <- [G58:553.000,883.000,-105.050]
(5454): <- [G57:0.000,0.000,0.000]
(5453): <- [G56:0.000,0.000,0.000]
(5452): <- [G55:-183.260,-165.275,-78.545]
(5451): <- [G54:0.000,0.000,0.000]
(5450): -> $#
(5449): -> gc_get_offsets
(5448): <- ok
(5447): <- [GC:G0 G54 G17 G21 G90 G94 M5 M9 M56 T0 F0 S0]
(5446): -> $G
(5445): -> gc_parser_state
(5444): <- ok
(5443): -> G90
(5442): -> gc_not_motion
(5441): <- ok
(5440): -> G49
(5439): -> gc_not_motion
(5438): <- ok
(5437): -> G21
(5436): -> gc_not_motion
(5435): <- ok
(5434): -> G10L2P1X0Y0Z0
(5433): -> gc_not_motion
(5432): <- ok
(5431): -> G54
(5430): -> gc_not_motion
(5429): <- ok
(5428): -> G92.1
(5427): -> gc_not_motion
(5426): STATE: SET MACHINE STATE: INIT
(5425): <- <Idle|MPos:0.000,0.000,-5.000|Bf:14,128|FS:0,0|Pn:Z|Ov:100,100,100>
(5424): <- ok
(5423): <- ok
(5422): <- [MSG:Caution: Unlocked]
(5421): <- <Alarm|MPos:0.000,0.000,-5.000|Bf:14,125|FS:0,0|Pn:Z|WCO:0.000,0.000,0.000>
(5420): -> $X
(5419): <- [MSG:’$H’|’$X’ to unlock]
(5418): <- [MSG:Check Limits]
(5417): <- Grbl 1.1f [’$’ for help]
(5416): -> $X
(5415): <- [MSG:’$H’|’$X’ to unlock]
(5414): <- [MSG:Check Limits]
(5413): <- Grbl 1.1f [’$’ for help]
(5412): <- ok
(5411): -> GRBL_RESET
(5410): STATE: SET MACHINE STATE: MACHINE_ALARM
(5409): <- ALARM:8
(5408): -> N0G0X-120.000
(5407): -> gc_motion
(5406): STATE: SET MACHINE STATE: NEEDS_TOOL_LENGTH
(5405): STATE: SET MACHINE STATE: JOGGING
(5404): <- ok
(5403): -> $h
(5402): -> gc_homing
(5401): -> N0 G4P0.005
(5400): -> gc_wait_for_idle
(5399): -> gc_check_limit_switch
(5398): <- <Idle|MPos:0.000,0.000,-15.000|Bf:14,128|FS:0,0|Pn:Z>
(5397): <- ok
(5396): <- <Run|MPos:0.000,0.000,-14.150|Bf:13,128|FS:300,0|Pn:Z>
(5395): <- <Run|MPos:0.000,0.000,-13.140|Bf:13,128|FS:300,0|Pn:Z>
(5394): <- <Run|MPos:0.000,0.000,-12.125|Bf:13,128|FS:300,0|Pn:Z>
(5393): <- <Run|MPos:0.000,0.000,-11.100|Bf:13,128|FS:300,0|Pn:Z|WCO:0.000,0.000,0.000>
(5392): <- <Run|MPos:0.000,0.000,-10.090|Bf:13,128|FS:300,0|Pn:Z>
(5391): <- <Run|MPos:0.000,0.000,-9.075|Bf:13,128|FS:300,0|Pn:Z>
(5390): <- <Run|MPos:0.000,0.000,-8.050|Bf:13,128|FS:300,0|Pn:Z>
(5389): <- <Run|MPos:0.000,0.000,-6.935|Bf:13,128|FS:300,0|Pn:Z|Ov:100,100,100>
(5388): <- <Run|MPos:0.000,0.000,-5.950|Bf:13,128|FS:300,0|Pn:Z>
(5387): -> N0 G4P0.005
(5386): -> gc_wait_for_idle
(5385): <- ok
(5384): -> N0G1F300.0Z-15.000
(5383): -> gc_backoff_limit_switch
(5382): <- <Idle|MPos:0.000,0.000,-5.000|Bf:14,128|FS:0,0|Pn:Z>
(5381): STATE: SET MACHINE STATE: HOMING
(5380): <- <Idle|MPos:0.000,0.000,-5.000|Bf:14,128|FS:0,0|Pn:Z>
(5379): <- <Idle|MPos:0.000,0.000,-5.000|Bf:14,128|FS:0,0|Pn:Z>
(5378): <- <Idle|MPos:0.000,0.000,-5.000|Bf:14,128|FS:0,0|Pn:Z>
(5377): <- <Idle|MPos:0.000,0.000,-5.000|Bf:14,128|FS:0,0|Pn:Z|WCO:0.000,0.000,0.000>
(5376): <- <Idle|MPos:0.000,0.000,-5.000|Bf:14,128|FS:0,0|Pn:Z>
(5375): <- <Idle|MPos:0.000,0.000,-5.000|Bf:14,128|FS:0,0|Pn:Z>
(5374): <- <Idle|MPos:0.000,0.000,-5.000|Bf:14,128|FS:0,0|Pn:Z>
(5373): <- <Idle|MPos:0.000,0.000,-5.000|Bf:14,128|FS:0,0|Pn:Z|Ov:100,100,100>
(5372): <- <Idle|MPos:0.000,0.000,-5.000|Bf:14,128|FS:0,0|Pn:Z>
(5371): <- <Idle|MPos:0.000,0.000,-5.000|Bf:14,128|FS:0,0|Pn:Z>
(5370): <- <Idle|MPos:0.000,0.000,-5.000|Bf:14,128|FS:0,0|Pn:Z>
(5369): <- <Idle|MPos:0.000,0.000,-5.000|Bf:14,128|FS:0,0|Pn:Z>
(5368): <- <Idle|MPos:0.000,0.000,-5.000|Bf:14,128|FS:0,0|Pn:Z>
(5367): <- <Idle|MPos:0.000,0.000,-5.000|Bf:14,128|FS:0,0|Pn:Z|WCO:0.000,0.000,0.000>
(5366): <- <Idle|MPos:0.000,0.000,-5.000|Bf:14,128|FS:0,0|Pn:Z>
(5365): <- <Idle|MPos:0.000,0.000,-5.000|Bf:14,128|FS:0,0|Pn:Z>
(5364): <- <Idle|MPos:0.000,0.000,-5.000|Bf:14,128|FS:0,0|Pn:Z>
(5363): <- ok
(5362): -> M56P0
(5361): -> gc_probe
(5360): <- <Idle|MPos:0.000,0.000,-5.000|Bf:14,128|FS:0,0|Pn:Z|Ov:100,100,100>
(5359): STATE: SET MACHINE STATE: NEEDS_HOMING
(5358): STATE: SET MACHINE STATE: JOGGING
(5357): <- <Idle|MPos:0.000,0.000,-5.000|Bf:14,128|FS:0,0|Pn:Z>
(5356): <- <Idle|MPos:0.000,0.000,-5.000|Bf:14,128|FS:0,0|Pn:Z>

I will try support@carbide3D.com

Well, I think I nailed it.
I rechecked the whole machine for anomalies and found that one pin on my power supply plug was slightly oxidized. I gently filed it and it looked brand new. I don’t think it was the issue however.

Since the Z axis was moving down during the homing procedure, I tried inverting it in the grbl settings by sending things like $3=4 . Moving and then setting it back to $3=1 .
This made the Z axis go up, but strangely the limit switch would not be triggered in the software.
Rebooting the machine solved this… I then discovered that my X axis limit switch was malfunctioning. Specifically, the screwed bumper was too far and the switch was not able to reach it. I set it correctly and everything is now fine ! You have to make sure that the tool probe is still aligned.

Strange bugs, especially with such a robust machine (I am still very happy and proud with my Nomad)

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