Friday 22 August 2014

Arduino based IDC cable tester

We use IDC terminated ribbon cables for the PanelOne LCD controller that we use in our Mini Kossel 3D Printer kits. Its a slow process to test these cables by confirming that the LCD, SD card, encoder etc all work so I looked for an IDC ribbon cable tester. I found a few online but they ran to ridiculous prices (~£250+) so decided to make one using an Arduino Mega and some strip board:

As can be seen there has been no time wasted on making it look pretty, in fact it is probably the ugliest circuit I have made, ever, however it works and tests cables!

Stripboard IDC cable tester circuit - hot glue used to protect questionable soldering

The circuit schematic includes the connections for a PanelOne as I had a prototype board that was no longer being used, however any 20x4 LCD screen and push switch would work.

It uses the internal pullup resistors on the arduino pins so no external components are required other than the connecting wires and headers.

I wrote a simple Arduino sketch to check the cable and display the results. It finds open and crossed wires:

Arduino Circuit Tester - Start Screen

Arduino Circuit Tester - Open Circuit

Arduino Circuit Tester - Crossed wires (plug on backwards)

Arduino Circuit Tester - Good cable
The next step will be to make a circuit tester for the 50 way Duet-Duex4 expansion header cables however that would require 100 pins which is more than is available on the Mega.... I2C port expanders here we come! Also I think a PCB will be required as 100 wires on stripboard would take far too long.

As usual its all open hardware and software - available on the Think3dPrint3d Github.

I hope someone finds this useful and I would be interested to see if anyone else tries this!


  1. HELLO
    i wanted to show you the problems.
    ares a bad test and when I close the circuit tester gives me yet "failed" despite all the points are closed.
    is that you can watch the program if it has a defect.
    more i wanted to add a relay output and a buzzer when the test is bad is it possible to give me the program and the electrical diagram because there are points that I not understand
    thank you in advance

  2. HELLO
    is it possible to send me the electric diagram on isis because I can not understand: all the pattern .I am a beginner in the field is your wire tester is interesting
    I count on your help for more explanation.
    thank you

    1. Hi Joseph the circuit diagram is above and also on our github:

  3. HELLO
    I can not get to the opens is that you can send me email pae ""
    is what you think of a relay output and a buzzer
    thank you in advance

  4. Hello!
    do you have any idea how to detect short circuits between pins

  5. Hello, I have found great use of this sketch. Changed it to use LiquidCrystal_I2C, and added Red/Green LED's to show Fail/Pass. I currently have several 74HC595 shift registers and am waiting on a shipment of 74HC168. I am hoping to use them to shiftOut/In so I can test up to 21 wire cable using a mega and 8 total I/O pins. I was wondering if you could give pointers or a reference to using shift registers in this manner, as all of the references I have seen only show shiftOut to LED's, but not how to recursively read them as in your original sketch.

  6. This comment has been removed by the author.

  7. This comment has been removed by the author.

  8. Replies
    1. I afraid not - another project on the back burner!

  9. Hi, great work but I also found an issue. if all cables are ok it shows passed, if i diconnect one wire on pushing pswitch and retesting it still shows passed, but it should show failed for the cable. same is case for failed to passed. In short it only shows first time results change of wires connections doesn't give any chnge in results. How can handle this error?

  10. Hello, it is relay a good project. i am working on this code but need support on "Can we test electric control penal from this like a health checkup and fault detector".


Comments are now moderated to reduce spam, please excuse the additional time this will entail.

Note: only a member of this blog may post a comment.