How to preset an I2C IO expander

You already indicated that you have a microcontroller on the board with all the I/O expanders. You said it already talks to the I2C stuff already!! Why not just have that microcontroller firmware setup the needed default initialized state of the I/O expanders.

If you needed several different ones of these initialized states you could even add several jumpers into that MCU to select the particular profile that is needed.


I have never seen such a device. But a microcontroller can do this function perfectly well, reading your default addresses and values from a separate Flash/EEPROM chip or from internal Flash/EEPROM.

Once you've programmed your microcontroller to do this, it'll look indistinguishable from the wonder chip that you dreamt of, so a win all round.

From any IC manufacturer's point of view, there's no point in them designing such a custom IC which there's limited demand for. They know the same function can be done by programming an existing IC. They want returns on their development investments, they'll design other ICs instead.

As an aside, is using a microcontroller something to 'suck up' or is there satisfaction in knowing you've made a good design choice :-)