Hi, thanks for the suggestions.
I was using the term E-Stop to refer to that function on the Roboclaw via the S3,4,5 pins.
A physical button isn't much use to me since I can't be present at location of the robot if/when it crashes or control is lost at speed. That's why the circuit was made to force a stop (a LOW on the Roboclaw pin) unless there's a constant pulsing signal.
My only point was that it's simpler than having a separate microcontroller for the same purpose.
Yes, correct, if there are other failures and the signal continues, then nothing was solved.
I am not using Python. Not sure what you're referring to with
notice that such is ALREADY present in the ROS none drive for roboclaw.
Is that instrinsic to the Roboclaw, or external to it? If external to it, then I need to implement that myself, as I'm doing a combo of C/C+ and Bash shell.
As example, I've already noticed that sometimes the running program loses control (aborts) but the Roboclaw is still executing the last command. However, just re-starting the program re-gains control of it. Thus the bash script that wraps it all.
I also understand that the entire thing isn't really a fail-safe E-stop since the Roboclaw itself has to be programmed to have (example) S5 as the E-stop. This is an iterative effort.
As a next phase, I could use the very same circuit, but in that case, the relay would remove 12V main battery power. (the equivalent of having the button). I'm not ready to risk that yet as I don't want to test if my setup protections against EMF/EMI were sufficient, or if something will be damaged.