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):
- Routing: 2 sets of CD74HC4067 (16-ch Analog Mux) to select Source/Sink pins, controlled by an MCP23017.
- Injection: 10mA Constant Current Source (OpAmp + MOSFET @ 3.3V).
- Measurement: ADS1115 (16-bit I2C ADC) in differential mode across the Mux inputs.
My Questions:
- 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?
- 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!
