I would like to know how to connect GPIO to LinuxCNC’s E-Stop chain.

More
19 Nov 2025 03:27 #338697 by unknown
Personally I would have the estop connected via Normally closed switch, and the estop is signaled via opening connection. This way if, for whatever reason, the estop wire is broken or falls off either connection the machine will go into an estop condition.
The way you have your schematic, you'll only know that something is wrong with the estop when you go to use it.
I'd rather a failing estop not let the machine run.
The following user(s) said Thank You: tommylight, EdWorks

Please Log in or Create an account to join the conversation.

  • EdWorks
  • EdWorks's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
19 Nov 2025 15:09 #338729 by EdWorks
Part of failing is what you learn along the way. I know of "a rule" that eStops should be Normally Closed. Yesterday, that is all I knew. Today however, I am well-versed in ISO 13850:2015 Safety of Machinery - Emergency stop functions - Principles for design. Today I have a strong opinion that you are right! The reality is my schematic I'm using from Byte2Bot does it otherwise, so shall I.
But we divert! I don't see any GPIO25's in this banter.

Please Log in or Create an account to join the conversation.

  • EdWorks
  • EdWorks's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
19 Nov 2025 15:24 - 20 Nov 2025 03:16 #338732 by EdWorks
This is very helpful but I don't understand. It appears you are using two pins. I have my Emergency Stop switch attached to GPIO25. It is designated as INPUT. I get errors when I try to add the second line [net estop-ext => [HMOT](CARD0).7i84.1.1.output-08} with references to -output.  I don't see a need for output in an eStop unless it is to communicate with software. With what I understand, I did this:

I created an input on GPIO25 -
loadrt hal_gpio inputs=GPIO7,GPIO8,GPIO25,GPIO12,GPIO13
I created an input:
net estop-ext <= hal_gpio.GPIO25-in

Then I used one of your suggestions:
net estop-ext => iocontrol.0.emc-enable-in
And so now, when I press my eStop (which at present is non-latching) the program momentarily stops. If I release it, it restarts (bad).
I think I am missing the second part- not allowing the machine to come on after the button was pressed.
Last edit: 20 Nov 2025 03:16 by EdWorks. Reason: Another day.....

Please Log in or Create an account to join the conversation.

Time to create page: 0.071 seconds
Powered by Kunena Forum