A long time ago, I have seen a tool for testing network and telephone cables. Among other things, it was able to test the cable wire by wire, and show via eight LEDs how is it connected, whether all lines are OK or not, and so on.
However, this tester had several disadvantages. It was unable to measure dynamically (like I'm shifting with the cable and looking for loose connections), it could test only one wire after another, and it was not good for testing in the field since both plugs (transmitting, receiving) were located on the same unit. So, for example, it was impossible to test a cable leading to a socket on the other side of a building. Even if the box could be split into two ones, a separate ground signal would have to be connected between them. (Yes, this can be achieved using ground pins of electrical outlets, but it is not convenient either). So, I have designed the following circuit which solves both problems.
TP Cable Tester:
TP Cable Tester consists of two parts, a transmitter (includes a battery) and a receiver (passive, several of them may be used). In the transmitter, a PIC16C54 (4MHz version) sends a selected sequence to the 8 wires in the cable tested. Generally, it sets one output high, leaving the rest of them low.
Receiver consists of 8 LEDs with protective resistors, and 8 regular diodes. Their purpose is to provide ground level using the remaining wires (since they are held low). So, the current flows through LED, and returns via any other wire. As a result, any cable with at least two wires connected (no matter how chaotically) can be tested. Mode is selected via two tri-state switches located on the transmitter.
Transmitter contains 8 control LEDs and protective resistors. Theoretically, both the receiver and the transmitter should survive short-time connection into a working telephone socket; however, I don't recommend trying it. Due to this protection, as well as power consumption considerations, low-power LEDs need to be used (I recommend to experiment, in the worst case the resistor values can be changed a little). Other diodes and resistors are not critical.
My circuit uses a 4MHz xtal. It should be easy to change the software for a PIC with RC oscillator, it would just need to be speeded up. The whole application is powered by four AA-size, normal or rechargeable batteries. Since the design is simple, I have used a universal PCB instead of designing a custom one. Both the transmitter and the receiver fit into a suitable telephone outlet box.
- SW 1 in the middle position:
- standard cycle, LEDs 1 to 8 light up one by one, speed is set by SW 2. In this mode, crossed connections as well as unconnected wires can be easily found. For better orientation in slow mode, all LEDs flash for a short time before the next one lights up.
- SW 1 in edge position:
- SW 2 in middle position - all LEDs light up (actually, they are lit up one after one very fast. Only the brightness is affected, flashing is unnoticeable by human eye). This is a good mode to search for bad connections in the cable - you can shift around with the cable and immediately see if a wire has been disconnected. However, you can't test the corectness of the wiring scheme in this mode.
- SW 2 in edge position - see above, only LEDs 1,2,3,6 light up (the ones corresponding to wires used for computer networks).
- SW 2 in the other edge position - in sequence, LED 1 flashes one time, LED 2 flashes two times, and so on, until LED 8 flashes 8 times. In this mode, you can figure out the wiring diagram of a totally chaotically wired cable.
- SW 1 in the other edge position:
- whenever SW 2 is in middle position, the LED state does not change. If it is at either side, the lit-up LED keeps 'moving' to the next one (a variation of the 'wire by wire' testing).
Download & Links:
You can download source code here (I use a compiler by PARALLAX. By the way, it supports macros similar to well-known Intel instructions, and is quite well documented.)
Or, you can download the software in an Intel HEX file.
HW server notes:
I think that the 1k resistors at the output wires, and next to LEDs, are too high - the LEDs then need to be hand-picked. Perhaps something like 680 Ohms would be more suitable. Still, this is a very useful device, not limited to TP networks.