Grbl 1.1h ['$' for help] ALARM:1 [MSG:Reset to continue]

I let my engraninator sit for a while. I have come back to it and cant get it to do any thing except:
Grbl 1.1h [’$’ for help]
ALARM:1
[MSG:Reset to continue]

It does not accept any inputs. no $ or $X or $H … any ideas will help. Do you think I need to reflash?

Alarm: 1 means “Hard limit has been trigger” -> https://github.com/gnea/grbl/blob/master/doc/csv/alarm_codes_en_US.csv
By “sit for a while” do you mean sitting and turned on? Or just sitting off?

My suggestion first is to turn it off, manually move the laser to the very middle, then turn back on and try to home.

If still you get that error, that means that you have a short on one of your endstop switches. We use Normally Open switches so when the switch is hit, it “closes” the circuit (specifically it pulls it to ground).

Diagnosing is only really going to be possible with a digital multi meter.
Take the controller cover off and locate the endstop header (it’s in the corner near the motor outputs).

With the unit unplugged, use a DMM set to “continuity” mode and probe both the 2 X pins and the 2 Y pins. If you get continuity on either of these, then that endstop switch is your problem.

From there you would just need to debug. Disconnect the offending endstop from the controller. Reprobe the same pins on the controller. If no continuity there (shouldn’t be) probe the wires from the endstop and see if there’s continuity there. Note: In ALL cases here there should be NOTHING pressing the endstop switch - when pressed in you would always get continuity.

Let’s start there and then decide next steps after you report back :smiley:

I pulled the limit switches off and the messages went away. I narrowed it down to the y switch. I tested the switch and it seems to function fine. No short normally then a few ohms when triggered. I figured it could be the screw terminals so I sucked them off but then ran out of time to test further. I should be able to get back to it soon.

Huh? You removed them?
Did you actually remove the switch from the machine or just disconnected it from the controller?
Please check if there’s a short between the 2 Y pins on the controller since you didn’t find a short on the switch itself.

I just disconnected the switch from the controller and powered it back on. The original message went away and the controller responds as expected. The limit switch pins are not shorted since it works with out the switches connected. It is a few Meg ohms acrost the pins. That is what led me to thinking it was the switch wires when put into the screw terminals. My plan is to solder them direct to the controller.

DO NOT solder them directly to the controller.
Given what you said, it sounds like you had a stray wire bridging between the two pins.
Recommend tinning the end of the limit switch wires with solder, making sure there’s no stray wire strands and then reconnecting to the screw terminal.

Where you able to investigate any further?

I would love to say I have but now I am even more confused than before.
I am getting very inconsistent results.
it can see the switches. if I hold the switch while its being reset I get:
Grbl 1.1h [’$’ for help]
[MSG:Check Limits]
[MSG:’$H’|’$X’ to unlock]

sometime resting again after letting go of the switch it drops me back to the normal prompt
Grbl 1.1h [’$’ for help]
and it responds fine to commands

At this point I dont think either switch is bad even though disconnecting the switch by laser (which ever that one is) will consistently make the ALARM:1 go away.
it seems to me that if the switch was bad it would not be able to see the [MSG:Check Limits] when powering on with the switch pressed.
Shot in the dark but it seems as though there is not a pull down/up resistor on the input for the switch or however it senses there is actually a switch there or not.

GRBL doesn’t require that in the hardware because the ATMega328p chip has internal pullup resistors available for all digital IO pins which can be enabled or disabled. If you look at any of the hookup guides or the schematic of any other GRBL board, there are no pull resistors on the limit switch lines - because they are internal to the microcontroller.

It depends on how the switch is bad. The Engravinator uses normally open switches so if something is causing it to randomly short out, this would be causing the Check Limits error message after a reset.

I would say, since it consistently stops after you remove the limit switch that it’s definitely the switch - I’m not sure how exactly but that’s the only logical conclusion. I’ve seen similar things when there’s a floating ground or something but that should not be the case with this given how the circuit is setup. Especially since if there was, for example, a broken connection on the Platypus, the error state would just be that the limit swtich doesn’t work at all - instead of always triggering.

Tell you what, how about I send you a new set of limit switches? I’ll send 2 just for good measure. I’d recommend connecting one to the controller on the input that’s been causing the problem (should be Y by what you described) without actually installing it on the axis, just to make sure the problem goes away first. If it does, then swap out the entire switch with the new one.

When I had that it turned out to be a sagging wire hitting the switch prematurely. I have to figure out how to keep the wires from sagging. If they hit mid job it gets ruined.

@GreyBeard3D send a pic of your wiring? They should not be sagging that much.

Ok so yeah I will be happy to pay for new end stops and shipping. Please PM me on how I can do this. I had a hell of a time getting my pi day celebration to work! I was able to do it in the end though

1 Like