Precision Resistance Measurement on 40-pin Cable Tester (ESP32 / 3.3V)

Hi everyone,

I am building a universal cable tester using an ESP32 (3.3V logic/power).

The continuity and short-circuit testing is fully functional using 5x MCP23017 I/O expanders to handle 40 pins.

The Goal:

I want to add resistance measurement to detect degraded contacts or bad solders (mΩ to Ω range), while sticking to 3.3V and limited GPIOs.

Proposed Architecture:

Since a full 4-wire Kelvin setup for 40 pins is too complex, I am considering a 2-wire method with software calibration (tare):

  1. Routing: 2 sets of CD74HC4067 (16-ch Analog Mux) to select Source/Sink pins, controlled by an MCP23017.
  2. Injection: 10mA Constant Current Source (OpAmp + MOSFET @ 3.3V).
  3. Measurement: ADS1115 (16-bit I2C ADC) in differential mode across the Mux inputs.

My Questions:

  1. Mux R(on) At 3.3V, the CD74HC4067 has a significant R(on) (~70Ω). Do you think software calibration (subtracting the path resistance) is enough to get reliable readings, or will thermal drift make it useless for measuring low resistances?
  2. Alternatives: Are there any affordable I2C Crosspoint Switches suitable for this (40 pins, low R(on) that I might have missed?

I need something for make measure inside the cable that i test

Thanks for your insights!

You could use a circuit like this one:

If you add a reference resistor, like above, you don’t even need constant current source.

Ciao, Ale.

i have only 3,3V on my esp32 , i don't use external generator for put 5v on Vin pins of the esp

Almost impossible with an analog multiplexer.

That alone makes 700 mV @ 10 mA with how much variation?

Doesn’t make any difference, what you need to know is the voltage across the reference resistor (and by this you know the current) and the voltage across your other wire, the apply the ohm law to calculate the unknow resistence.

Ciao, Ale.

so do u have an idea how to do this ? I need to measure the resistance inside the cable of 40 cable and display it on screen

No, not at reasonable cost.

It may be possible to connect all wires in series and measure the entire resistance. if there is a significant difference from the net wire resistance then the cable is defective and each connection has to be tested and fixed separately.

my project is dead so ... :melting_face: