I have the notion of putting together a TP cable tester with an arduino. I've seen hacks sending power and lighting up a LED to check continuity, and used a similar 'professional' tester that just plugged into both ends and sent power through one wire at a time, lighting up a LED if it's got continuity aswell. But, at one of the cables, it had intermittent failures when using it for real data, and often didn't work at all. Swapping out a connector, and straightening what appeared to be a kink in the cable, made it work again.

So, I would like to do a little project where first a regular cable test is performed (check continuity, and that there are no shorts between wires). And if that passes, sending out whatever high frequency an Arduino of any type (from Uno to Mega2560..) can produce, and reading it back on another pin. Using a TP plug in the other end that basically just cross-connects each colored pair, so that a signal can be sent out on one color (say, green) and be received on green-white as it comes back. This would give some hint at the testing end if the cable is okay enough to use with at least a few MHz frequency as opposed to just static DC to light a LED.

After having used a 'plain' cable tester on a 70m cable recently, and us then spending a couple of hours trying to find out why the hecko the full network was seen sometimes but then dropping out again, I'd like to DIY a cheap solution to at least help track down simple problems like this.

(It didn't help matters that when the main switch managed to connect to a single test unit, but freaked out when connected to a switch at the other end as it was supposed to, so for a long time we thought the cable was okay because 'it works just fine with this one unit, must be something in the switch..')

Anyway.. well, I hope you see what I'm getting at. For cheap, testing one pair at a time with some frequency and matching the results or showing dropouts would probably be fine. And having it built into the same unit that first checks for continuity and short circuits means that it can do all the tests without risking shorting out the network buffer/chip on a 'real' machine, like a work laptop.

  • Well, I guess.. In a nutshell, to take a one wire pair example - how high a frequency can I output on one data pin, and at the same time read on another pin? Do I need to mess with interrupts and stuff? I guess I do. This being to test that a certain bit pattern at as high a frequency as the arduino can manage to send, and listen to at the same time, is the same received as what was sent. ... Basically a very crude form of higher-frequency testing of a wire (with regards to interference) than just 'plop in 9V on a line and a LED in the other end to see if we have continuity'. – Snout Dec 3 '19 at 4:32
  • You could generate a PWM signal - or use the SPI clock (8MHz maximum) - to generate your "high frequency". Personally though I would prefer to take two Arduino boards and two Ethernet shields, add a small adaptor to one to "cross over" the cable, then plug one in at each end of the cable and get them to communicate. – Majenko Dec 3 '19 at 9:32
  • That thought occurred to me too, in the meanwhile. Mmm. A couple of arduinos, or raspi for higher frequencies, one acting controller and the other taking commands via the wire that's being tested. If commands can't get through, that's a fail already. But then continuity and check for shorts can be done, and the 'controlling' device can tell the other end to expect bit-banging on line so-and-so for a few seconds. After which the receiving device can report back if it saw the expected pattern. That is probably the way to go; can still be operated by one person, doesn't need one at each end. – Snout Dec 3 '19 at 18:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.