I am stumped by the behavior of a cable assembly I have made out of a pair of repurposed ethernet cables, and am hoping you can help me rule out issues that may be caused by twisted pairs. I realize that twisted pairs are intended for differential signaling rather than ground-referenced signals. However I need to record only very slow signals so I thought this would not be a problem.
I have fabricated the following sub-circuit as part of a PCB:

The connector attaches a bus via a ~15 foot cable assembly to an enclosure with 9 buttons, each with a ring LED for illumination. The ring LEDs have internal resistors. The 5 Volt Vdd line is used to power the LEDs; total draw approx. 90mA -- ~10mA/LED. The buttons, normally-open SPST momentary type, will each short the 3V3 Vcc line to the respective button output line (seen from the PCB schematic point of view above as a button input). The 9 on-board signal traces each go through a 470R into the input of a 74LVC14A (6x Schmidt trigger inverter) and from there to a microcontroller reading them as inputs (some directly; others through a PCF8574 / I2C bus).
The connector pin-out (as seen from the exterior of each enclosure) is:
d0 d2 d3 d5 d7 GND
3v3 d1 5v0 d4 d6 d8
Both enclosures have the same external pin-out.
I made a 12-wire cable assembly with a DTM-12 connector on each end by cutting individual wires to equal length, crimping the ends and putting them into connector housings. This cable works just fine. The microcontroller (not shown) is able to sense all 9 buttons just fine. The PCB is designed and assembled correctly for the application.
However, "a bundle of wires zip-tied together every few feet" is fragile and this is for a (temporary) outdoor installation so I wanted something more weather-proof. So I took two fifteen foot Cat5e ethernet cables, chopped off the 8p8c/rj45 connectors, stripped the ends of six wires per cable, and re-crimped for DTM connectors. This cable does not work:
I can attach a DC voltage source to any pin on one side of the cable assembly and see that voltage on its corresponding pin on the other side of the assembly via my multimeter. Checking cross-connections via multimeter, it does not appear that any pin on side A is accidentally coupled to any other pin on side B than the 1:1 mapping intended.
The 5V0-to-ground circuit employed by all the LEDs around the buttons works fine.
However, my microcontroller does not recognize any button presses on any of the 9 buttons.
I realize that using twisted pair wires for independent ground-referenced signals is not the intended design, and that impedance from the undriven partner wire in a pair means that high-frequency signals won't transmit effectively. However, it's only a < 5m run, and the signal speed is incredibly slow: human-driven button contacts of 50ms or longer (< 20 Hz).
- Are the twisted pairs actually fatal to this application?
- If it makes a difference, there is a protection diode (not shown in schematic above) feeding the 3V3 and 5V0 power lines to the connector in that schematic, to prevent back-powering of the PCB over the connector.
- Confusingly, I first assembled one end of the connectors mirrored to this pinout by mistake; there when I pressed buttons 4 or 8, the microcontroller saw the "correct" behavior of button 8 being pressed (because in either case, it connected 5v0 or 3v3 to the d8 line instead of connecting d4 or d8 to the 3v3 line). So it does seem possible to get a ground-referenced signal through this cable on 1/2 of a twisted pair, just not when connected "correctly".
- Are there other stupid cable assembly issues I'm overlooking?
- If it makes a difference, the connector pin-out shown above in each row corresponds to
blue blue/wht orange brown brown/wht green/whtof one Ethernet cable.
