Shielded cable ground

I have a project that has a user input push button that may be 20 feet from the Arduino. The button is connected between a digital input pin with pull-up resistor and ground. I am planning to use 2 conductor shielded cable between the button and Arduino. The shield will be connected only at the Arduino. Since one of the inner conductors is already connected to ground (connected at both ends), will the shield still function?

Yes, but whether it will function sufficiently well enough for your environment is anyone's guess. Use a 1K pull up resistor rather than anything higher.

1 Like

Why use 2 conductor, why not single conductor?

Because usually at least 2 wires are used for power or signal transmission and the shield should not carry current (no ground loop).

The project starts and stops a model train layout in a children’s museum so the consequence of a false button activation is not catastrophic, but still, I would like it to operate reliably. I’m using a 3 step verification of switch pressed (digitalRead 3 times) during a total time of 100mS, a 1K pull-up resistor, and shielded cable. Not sure what else I can do, maybe bypass the switch where it enters my custom shield.

There is no ground loop unless the shield is connected to something at the switch end (other than the switch contact terminal itself).

What you are doing, is severe overkill. If you bypass the Arduino input with a small capacitor, like 100pF - 100nF and shield the cable, assuming you don't make any obvious wiring blunders, there is nothing much to worry about. Probably, even with just the internal pullup resistor.

Is there some known emitter of interference nearby?

Which is why, typically, shielded cables are only grounded on one end.

You apparently missed aarg's point.

This is not an audio application.

In fact the use of shielded cable is serious overkill.

A simple approach to additional isolation would be to use an optocoupler with a 1k resistor to drive some 4 mA through the cable and connect the optocoupler output between the Arduino input and ground using INPUT_PULLUP.

Yes, shielded cable is overkill. For this application, 20 ft, just about any cable will work. Even optocouplers could be considered a bit of overkill.

And it's not an active device at the other end of the cable.

Else just in so simple items like RS-232 cables it's a good idea to cut the shield at one end.