This is just an experiment to see if a very simple USB powered circuit could be used to test long DMX cables where the other end is remote. It basically uses a PIC microcontroller to light LEDs in the passive receiver plug that indicate correct termination and then scans them all for a short time to allow cable wiggling tests to detect broken cores.
This is strictly experimental, so I'm not sure how the PIC will handle being coupled directly to long runs of cable. It does have resistors on its output pins and internal protection diodes to the supply rails, so it should be OK. (Only one way to find out.)
The tester isn't designed to be used through the data in and out of lights, but shouldn't harm them as its levels are similar to the 485 levels used in DMX data transmission. Some cheaper lights may actually react randomly to the test signals if they don't check for data validity.
All the resistors are 220 ohm. This provides protection to the PIC when it is connected to a shorted cable, reduces the peak current if connected to a line with a residual charge or if connected to a signal source and also partly limits the current through the LEDs in the receiver.
The receiver also has three 220 ohm resistors to limit the current through the LEDs if the receiver is plugged into an active network.
The transmitter contains a programmed PIC12F635 microcontroller, an optional (but recommended) 100nF 50V decoupling capacitor across it's power supply pins and three or five 220 ohm resistors between its output pins and the socket connections. Power is supplied by a hacked USB lead. The pins are connected to the socket via a 220 ohm resistor as follows.
channel 1 = pin 7
channel 2 = pin 6
channel 3 = pin 5
channel 4 = pin 3
channel 5 = pin 2
+5V goes to pins 1 and 4
0v goes to pin 8
The receiver has an identical circuit connected to each pin. A 220 ohm resistor and then an LED and generic 1N4148 diode in inverse parallel with all the LED cathodes (and 1N4148 anodes) commoned.
I recommend the use of high output red LEDs as the older red technology is more rugged and also has a slightly lower forward voltage.
You can find the 3 and 5 channel hex files for use with the PICkit2/3 programmers at:-
http://www.bigclive.com/freebies.htm
plus also the assembler files so you can play with the code.
If you enjoy these videos you can help support the channel with a dollar for coffee, cookies and random gadgets for disassembly at:-
http://www.bigclive.com/coffee.htm

17 thoughts on “Experimental 3/5 core dmx cable tester. including pic software.”
  1. Avataaar/Circle Created with python_avatars Roy Tellason says:

    I have a cable tester, it produces a pattern on its LEDs similar to the first chip you show here. Designed to use with ethernet cables, I also have adapters to some other stuff. You can connect both ends of a cable to the device, or one end, or jumper the output to a wall plate for premise wiring, and use a remote to verify stuff. It's come in handy to show me which cables really are ethernet cables and which aren't, and to show things like crossed pairs, etc. The "fast" speed is similar to what your tester does, "slow" goes a lot slower, I guess giving you the chance to wiggle thing around. Runs off a 9V battery. I should probably open it up one of these days and see how it works. 🙂

  2. Avataaar/Circle Created with python_avatars Mike G says:

    A cable tester design was my first PIC project.
    Thanks for posting.

  3. Avataaar/Circle Created with python_avatars losowe says:

    How to program a PIC12F635

  4. Avataaar/Circle Created with python_avatars Moonbase59 says:

    I wonder how complicated it would be to make this "failsafe" and probably send a "real" DMX512 signal. Just in case somebody forgot to unplug the other end in a live installation. You sometimes have to test in fixed installations. Of course you’d probably need a little case then, and a dip switch to set a valid address … hmmm. Probably over-complicating it 😀

  5. Avataaar/Circle Created with python_avatars Hola! Josh Kilen says:

    very cool.

  6. Avataaar/Circle Created with python_avatars ThisIs MyName says:

    Jesus, this guy's assembly is more readable than my C++

  7. Avataaar/Circle Created with python_avatars Agent24 says:

    You don't need the 10k resistor for the reset pin, but it helps for troubleshooting\development as you can then pull it to GND later for any reason, without shorting out the power supply.

  8. Avataaar/Circle Created with python_avatars Xander Guy says:

    is this cable tester gon give to ya?

  9. Avataaar/Circle Created with python_avatars pixelflow says:

    Plot twist, DMX based Beowulf cluster just by linking them end to end.

  10. Avataaar/Circle Created with python_avatars That's Unpossible! says:

    I love the juxtaposition of a guy capable of programming in assembly printing said code out on paper. 🙂

  11. Avataaar/Circle Created with python_avatars Lucas Mattison says:

    Anyone know the location, cost and uses of the 1000 PIC's

  12. Avataaar/Circle Created with python_avatars SuperMassiveScum says:

    Clive, where the hood at though?

  13. Avataaar/Circle Created with python_avatars ANDIY Laddie says:

    Clever idea! after seeing this and downloading the software, i bet, at this time in China, they finished the testing stage and the connector tester is ready for mass production. :)))

  14. Avataaar/Circle Created with python_avatars semiRockethr says:

    Cheap chinese ethernet cable tester works in similar way, it loops over all lines in order. It's missing all lines constant indication mode which would be very nice to have indeed for the same reason you mentioned!
    The unit itself comes in two pieces which can be attached to both ends of the cable, not necessarily in the same room.

    I still think your design has a flaw, it would be nice if it has a button to change the mode of operation. Debugging while is looping over modes could get quite annoying still.

  15. Avataaar/Circle Created with python_avatars A Hettinger says:

    LOL! That's a good reason to choose that PIC!

  16. Avataaar/Circle Created with python_avatars Mark Speir says:

    You and Dave Jones must be close! You have the next version of DaveCAD with hierarchical sheets and larger usable area! This isn't even out to be beta tested yet! COOL!

  17. Avataaar/Circle Created with python_avatars Martin Winfield says:

    Thanks Clive, another simple to construct aid. I am in the telecommunications industry and have problems all the time tracing cables. I can see a use her for me. I will be having a build and adapting.
    Great channel always interesting topics.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.