Want to make an electronic harness tester

Some information about my background: I have prior experience in programming (C/C++), microcontrollers and related electronics.
I work in a manufacturing facility that uses wire harnesses to test their products (something like this or see attached). These harnesses sometimes have around 50 wires and they break often. It takes some time to diagnose them. I'm wanting to make an electronic harness tester that would connect to the computer. It would be connected like this:

Harness to check --- Connectors ---- Microcontroller (Arduino) and other circuitry ---- USB wire ---- PC

The way I imagine it to work is like this: I connect the harness to the connectors and the USB to the PC. USB power (500ma) would be enough to power the circuits. I run the PC program and press "Check Harness". It scans all the connections, figures out what Harness is connected and tells me on the PC screen which wires are broken.

The Arduino would be connected to the diagnostic circuitry which would check each wire one at a time. There would be some type of ohmmeter which would measure the resistance. I've attached a diagram of the basic circuit for a harness with 4 wires. Each end of the harness goes to one side of the testing circuit.

There are some issues to think about:

  • Testing each wire individually one by one. As shown in the diagram I need to switch connections for testing each connection. For the switches would I use transistors for each connection point?
  • It could be a 100 connector system. If I use transistors, would I have 100 transistors at each side for a total of 200 transistors?
  • Ability to check the resistance of a connection. A range of 0 ohms to 1000 ohms. I dont need anything very accurate. 0-5 ohms should be "passing" continuity. I'm thinking about D/A and A/Ds but haven't thought about it further.
  • Ability of Arduino to communicate anything to the PC through USB. I'm guessing its easy to communicate back and forth
  • What language should I use? The company uses C-charp and .NET in their programs which I currently do not know but I can learn it. I see Arduino uses C/C++ so I guess I will use that and thats fine.
    Any advice specifically for points 1 and 3?

Although in this situation it may not be a huge advantage for the company to have such a harness tester I want to do this project to gain experience, build a cool product and show them what I can do so they can give me more projects later that may be significantly helpful.

sample harness.jpg

Surely one end of the harness could simply be hooked up to a block that are all going to 5v, whereas the other end needs to be connected to analog inputs on the aruino. That's still a lot of analog inputs.

Fortunately These could be the answer If you had 4 of these you would be able to use just one analog input pin, 4 digital pins to select which of the four ICs are enabled, then another 4 digital pins to select which input on that chip is being investigated.

So that's 8 digital outputs, and 1 analog input, to give you the ability to read upto 64 wires. Not bad eh?

KenF:
Surely one end of the harness could simply be hooked up to a block that are all going to 5v, whereas the other end needs to be connected to analog inputs on the aruino. That's still a lot of analog inputs.

Fortunately These could be the answer If you had 4 of these you would be able to use just one analog input pin, 4 digital pins to select which of the four ICs are enabled, then another 4 digital pins to select which input on that chip is being investigated.

So that's 8 digital outputs, and 1 analog input, to give you the ability to read upto 64 wires. Not bad eh?

Thanks for the reply! Using a mux is definitely a great idea. I'm glad I came here or else I would have gone with the transistor plan. I may use more of those IC's so I can have 100 connections for future expansion plans.
Making all connections on one side common is also a great idea which will make it easier.
I will start planning and drawing circuits in more detail so I can make a shopping list.