Design Overview: As I said in the last blog I am going to use an Arduino Mega 256 not for its I/O capabilities, but for its memory size.  Getting to 50 pins is really 100 pins! Ouch.

The only way I can achieve this is to use 4 16 bit I/O expander. Enter the MCP23017 which has a High-speed I2C™ interface (100KHz, 400KHz, 1.7MHz) and I can have eight (8) devices on this bus at one time. But I will only use 2 expanders on the input, and two more on the output.   I will also include an I2C™ interfaced LCD panel for display and control. The Arduino itself will read the buttons to scroll through the cables, or to enable the flying probe. I can interface the tester to my PC via USB or Ethernet (later). Well for better or worse, here it is.

UPDATE - 6 JUN 2021
On one side I will have 3 MCP2317 as to also allow me to use a DB-37. and BTW it is just as eazy to add the DB-37 to both sides. 

 

 

 

DeviceUnitPins
MCP2301711 - 16
"217 - 32
"333 - 37